javascript基础-第四章:数组

第四章:数组

1.什么是数组

数组:一堆数的组合。
================
之前的变量都是单个单个的,一个学生成绩,学生姓名,手机号码
但是我们经常要描述一堆。比如,一个班里30个学生成绩。
s1,s2,s3...s30 变量么
=====
不科学的,所以,就需要一种数据类型,数组
js里的数组,功能是非常强大的。可变长度。长度不固定,不够用了,自动会扩容。数组里可以存放任意数据类型

2.定义和访问数组

<script type="text/javascript">
    //1.
    var arr=new Array();//就定义数组对象,不给长度默认10,也可以给一个长度new Array(20)
    //数组通过索引小标来访问,[index],一般下标从0开始
    arr[0]=10;
    arr[1]=20;
    arr[2]="abc";
    //arr[100]undefined 因为我们并没有给索引100的位置赋值。未定义
    //js中数组没有越界的概念
    //索引也可以是负数,但一般都是从0开始
    arr[-1]=99;
    console.log(arr[0],arr[1],arr[2],arr[100],arr[-1]);
    //2.还可以如下
    var arr2=[1,2,3,4,5];//直接定义数组,并赋初值
    console.log(arr2[0],arr2)
</script>

3.数组的遍历

<script type="text/javascript">
    var arr=["aa","bb","cc","dd","ee"];//定义数组
    console.log("使用索引方式遍历:")
    for(let i=0;i<arr.length;i++){
        console.log(arr[i]);
    }
    console.log("使用增强for 方式遍历:");
    //注意,i是索引,所以可以修改数组元素
    for (let i in arr) {
        console.log(arr[i]);
    }
    console.log("使用for ..of方式遍历,ES6");
    //注意,这里的item是数组里的每一个元素,这里会自动将数组的元素依次赋值给item
    //只读的方式
    for (let item of arr) {
        console.log(item);
    }
</script>

4.数组常用方法

<script type="text/javascript">
    var arr=[1,2,3];
    //尾部追加
    arr.push(4);			
    console.log(arr);
    let x1=arr.pop();//尾部删除
    //join方法是将数组里的每一个元素按照指定字符串拼接起来
    console.log(x1,arr.join(","));
    //头部插入
    arr.unshift(10,20);
    console.log(arr.join(","));
    //头部删除
    x1=arr.shift();
    console.log(x1,arr.join(","));
    
    arr.push(6,7,8,9);
    console.log("删除前",arr);			
    //指定位置删除() 含义,在索引2开始,删除3个元素
    arr.splice(2,3)
    console.log("删除后",arr);		
    //含义,在索引2开始,删除3个元素,用50,60,70,80代替
    arr.splice(2,3,50,60,70,80)
    console.log("删除后插入:",arr);	
    //可以直接做插入,在索引为4的位置,删除0个,插入999
    arr.splice(4,0,999)
    console.log("插入后:",arr);	
    
    //slice切片操作,即从数组里取出子数组
    arr=[1,2,3,4,5,6,7,8,9,10]
    arr2=arr.slice(3,6);//左闭右开,从位置3开始,取到索引6,不包括6
    arr2[1]=99;
    console.log(arr2.join(","),"原数组:",arr.join(","))
    arr2=arr.slice(3);//从位置3开始到最后
    console.log(arr2);		
    //concat方法,拼接两个数组
    arr1=[1,2,3,4];
    arr2=[7,8,2];
    //需求,合并两个数组
    arr3=arr1.concat(arr2);
    console.log(arr3)
</script>

5.二维数组

多维数组,js中不存在多维数组,都是一维数组。
如果数组里的每一个元素都是一个一维数组。就是二维
<script type="text/javascript">
    const books=[
        [1,"java基础",20],
        [2,"js基础",10],
        [3,"c++基础",30],
        [4,"go基础",20],
        [5,"python基础",40],
    ];
    let html="<table class='tb'>";
    html+="<tr>";
    html+="<th>编号</th><th>书名</th><th>单价</th>";
    html+="</tr>";			
    for (let book of books) {
        html+="<tr>"
        html+="<td>"+book[0]+"</td>";
        html+="<td>"+book[1]+"</td>";
        html+="<td>"+book[2]+"</td>";
        html+="</tr>";
    }
    html+="</table>";
    document.write(html);
    ///
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值