数组相关操作

    注意点:
        1.数组是引用类型
        2.数组对应的索引没有存储数据,默认存储的就是undefined
        3.和其他编程语言不同,数组中不存在的索引不会报错,会返回undefined
        4.和其他编程语言不同,JavaScript数组存储空间不够时数组会自动扩容
        5.和其他编程语言不同,JavaScript的数组可以存储不同类型的数据
        6.和其他编程语言不同,JavaScript中数组分配的存储空间不一定是连续的。
        7.创建数组的方式
          7.1.通过构造函数创建数组
              let 变量名称=new Array(size); //创建一个指定大小数组
              let 变量名称=new Array();
              let 变量名称=new Array('zs','ls','ww');
          7.2.通过字面量创建数组
              let 变量名称=[];
              let 变量名称=['zs','ls','ww'];
数组解构赋值
   什么是数组的解构赋值?
     解构赋值是ES6中新增的一种方式
     例如:
      let  arr=[1,3,5];
      let [a,b,c]=arry
      console.log('a ='+a);  输出 a =1
      console.log('b ='+b);  输出 b =3
      console.log('c ='+c);  输出 c =5
    注意点:
        1.在数组的解构赋值中,等号左边的格式必须和符号右边的格式一模一样,才能够完全解构。
        例如:
          let [a,b,[c,d]]=[1,3,[2,4]]
          console.log('a ='+a);  输出 a =1
          console.log('b ='+b);  输出 b =3
          console.log('c ='+c);  输出 c =2
          console.log('d ='+d);  输出 d =4
         2.在数组的解构赋值中,左边的个数可以和右边的个数不一样
         3.在数组的解构赋值中,右边的个数可以和左边的个数不一样,那么我们可以给左边指定默认值
         例如:
            let [a,b=2,c]=[1]
            console.log('a ='+a);  输出 a =1
            console.log('b ='+b);  输出 b =2
            console.log('c ='+c);  输出 c =undefined
         4.在数组的解构赋值中,右边的个数可以和左边的个数不一样,那么如果设置默认值会被覆盖
         5.在数组的解构赋值中,还可以使用ES6中新增的扩展运算符来打包剩余的数据。(ES6新增的扩展运算符: ...)如有使用了扩展运算符,那么扩展运算符只能写在最后
         例如:
            let [a,...b]=[1,3,5]
            console.log('a ='+a);  输出 a =1
            console.log(b);  输出 3,5
数组的增删改查
    let arr=['a','b','c'];
    //需求: 将索引为1的数据修改为d,索引为2的数据修改为e(改);
       1. arr[1]='d';arr[2]='e';
       2. arr.splice(1,2,'d','e'); (参数1:从什么位置开始, 参数2:需要替换多少个元素, 参数3开始:新的内容)
       console.log(arr);  输出:['a','d','e']
    //需求:在数组最后添加一条数据(增);
      let res=arr.push('d'); //会返回当前数组的长度 
      let res=arr.push('d','e') //push方法可以接收一个或多个参数;
    //需求:在数组最前面添加一条数据(增);
      let res=arr.unshift('m'); //会返回当前数组的长度 
      let res=arr.unshift('w',m'); //unshift方法可以接收一个或多个参数; 
    //需求:删除数组的最后一条数据
       let res=arr.pop();//删除数组中最后一条数据,并且将删除的数据返回出来
       //需求:删除数组的开始一条数据
       let res=arr.shift();//删除数组最前面一条数据,并且将删除的数据返回出来
       //需求:删除索引为1的数据
       arr.splice(1,1);// 从索引为1元素开始删除1条数据。参数1:索引位置, 参数2:需要删除多少个元素
数组的常用方法
   let arr=[1,2,3];
   //1.清空数组
    1.arr = []; 
    2.arr.length=0  
    3.arr.splice(0,arr.length) 
    //2.将数组转换字符串
    arr.toString();
    //3.将数组转换指定格式的是字符串
    arr.join(); //  d默认情况下如果没有传参数,跟toString()一样
    arr.join('+');  1+2+3
    //4.两个数组拼接为一个数组
     let arr1=[1,3,5];let arr2=[2,4,6]
     let res=arr1.concat(arr2); //注意点:不会改变原来的数组,会新生成一个数组
     console.log(res); //[1,3,5,2,4,6] 
     let res=[...arr1,...arr2]; //注意点:扩展运算符在等号的右边,那么表示将数组中所有的数据解开,放在所在的位置
     console.log(res); //[1,3,5,2,4,6] 
     // 5.如何将数组中的内容进行反转
     let res=arr.reverse(); //注意点:会修改原来的数组
     console.log(arr); //[3,2,1]
     console.log(res); //[3,2,1]
     //6.如何截取数组中指定范围内容
     let arr1=[1,2,3,4,5];
     let res=arr1.slice(1,3); //注意点:slice方法包含起始位置,不包含结束位置
     console.log(res); // [2,3]
     console.log(arr1); // [1,2,3,4,5]
     //7.如何查找元素在数组中的位置
     let res=arr.indexOf(2);//注意点:indexOf方法从左至右的查找,一旦查找到就会立即停止查找。indexO方法没有找到指定元素就会返回-1,否则返回该元素的索引。
     let res=arr.lastIndexOf(2);
     //8.如何判断数组中包含某个元素
     //除了indexOf、lastIndexOf外还可以使用include
     let res=arr.includes(8);
     console.log(res); // false
     
数组的练习
    1. 获取数组中的最大值
    let arr=[3,5,6,8,12,2,1];
    let max=arr[0];
    for(let i=1;i<arr.length;i++){
        if(arr[i]>max){
            max=arr[i];
        }
    }
    console.log(max); //12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值