javascript的数组和数组元素的遍历,实现全国省份和城市一览表

利用javascript的数组和数组元素的遍历,实现如下图所示的全国省份和城市一览表。

在这里插入图片描述
本次为初学JavaScript数组,主要利用数组的遍历、一维数组、二维数组的定义的简单应用

省用一维数组定义输出
市用二维数组定义输出

方法一

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Exp2</title>
</head>
<body>
    <center>
    <script type="text/javascript">
        var provinceArr=['山西省','陕西省'];
        var cityArr=[
                      ['太原市','晋中市'],
                      ['西安市','榆林市']
                    ];
        var html='<h1 align="center">全国省份和城市一览表</h1>';
            for(var i=0;i<provinceArr.length;i++){
                html+=provinceArr[i]+'&nbsp';
            }
            html+='<br>';
            for(var i=0;i<provinceArr.length;i++){
            html+='<select>';
            for(var j=0;j<cityArr[i].length;j++){
             html+='<option>'+cityArr[i][j]+'</option>';}
             html+='</select>';}
            document.write(html);
    </script>
    </center>
</body>
</html>

这种方法是定义了一个html的变量,对html变量进行一系列的赋值输出,最后利用document.write()方法进行输出HTML这一字符串的值

方法二

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Exp2</title>

</head>

<body>
    <h3 style="text-align: center;">全国省份城市一览表</h3>
    <form name="form1">
        <table width="235" height="69" border="0" align="center">
            <tr>
                <th id="province"></th>
                <td height="21"><br>
                    <select id="province_1"></select>
                    <select id="province_2"></select>
                </td>
            </tr>
        </table>
    </form>
</body>
<script>
    arr1 = [
        ["太原", "大同", "朔州", "阳泉", "长治", "忻州", "吕梁", "晋中", "临汾", "运城", "晋城"],
        ["西安", "榆林", "延安", "宝鸡", "咸阳", "渭南", "铜川", "汉中", "安康", "商洛"]
    ]
    arr = ["山西省", "陕西省"]

    var initData = function () {
        var province = document.getElementById("province");
        for (let index = 1; index <= arr.length; index++) {
            province.innerHTML += arr[index-1] + " ";
        }
        var obj = document.getElementById("province_1");
        for (let index = 1; index <= arr1[0].length; index++) {
            obj.add(new Option(arr1[0][index], index));
        }
        var obj2 = document.getElementById("province_2");
        for (let index = 1; index <= arr1[1].length; index++) {
            obj2.add(new Option(arr1[1][index], index));
        }
    }
    initData()
</script>

</html>


方法三

不采用二维数组定义的犯法,可以把市直接定义两个一维数组进行操作
进行最普通的html操作

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>将数组中的数据添加到下拉菜单中</title>
<script type="text/javascript">

var a = new Array("太原市","晋中市","XX市","XX市");	
var b = new Array("西安市","榆林市","XX市","XX市");
function sx1(){
  for (var i=0;i < a.length; i++)	{
    document.form1.a1.options[i] = new Option(a[i]);
  }
}
function sx2(){
  for (var i=0;i < a.length; i++)	{
    document.form1.a2.options[i] = new Option(b[i]);
  }
}
</script>
</head>
<body>
	<h3>全国省份和城市一览表</h3>
山西省&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;陕西省
<form name="form1">
<select name="" id="a1" onFocus="sx1()"></select>
<select name="" id="a2" onFocus="sx2()"></select>
</form>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设我们有一个童书列表,每本童书包含书名和作者两个属性。我们可以使用数组的 `filter()` 方法来根据关键字查询童书,使用数组遍历方法(如 `forEach()` 或 `map()`)来展示查询结果。 下面是一个简单的示例代码: ```javascript const childrenBooks = [ { title: '小熊和小兔', author: '张三' }, { title: '小狗和小猫', author: '李四' }, { title: '小鸟和小鱼', author: '王五' }, ]; // 根据关键字查询童书 function searchBooks(keyword) { const result = childrenBooks.filter((book) => { return book.title.includes(keyword) || book.author.includes(keyword); }); return result; } // 展示查询结果 function showResult(result) { if (result.length === 0) { console.log('没有找到相关的童书。'); } else { result.forEach((book) => { console.log(`书名:${book.title},作者:${book.author}`); }); } } // 使用示例 const keyword = '小熊'; const result = searchBooks(keyword); showResult(result); ``` 在代码中,我们首先定义了一个童书列表 `childrenBooks`。然后定义了一个 `searchBooks()` 函数,该函数接收一个关键字作为参数,使用 `filter()` 方法对童书列表进行过滤,筛选出包含关键字的童书,并返回查询结果。最后,我们定义了一个 `showResult()` 函数,该函数接收查询结果作为参数,使用 `forEach()` 方法遍历查询结果,展示每本童书的书名和作者。最后,我们使用这两个函数展示了一个查询结果。 当然,这只是一个简单的示例代码,您可以根据实际需求进行修改和拓展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值