javascript数组常用方法总结

1.添加

       1. push(): 在数组末尾添加一个或多个元素,返回值是数组的长度,改变原数组

       <script>
         var arr = [1, 2, 3];
         var arr1 = arr.push(4);
         console.log(arr)   //[1, 2, 3, 4]
         console.log(arr1) //4
       </script>

       2. unshift(): 在数组开头添加一个或多个元素,返回值是数组的长度,改变原数组

      <script>
        var arr = ["a", "b", "c"];
        var arr1 = arr.unshift("d");
        console.log(arr)  //['d', 'a', 'b', 'c']
        console.log(arr1) //4 
      </script>

       3. concat(): 用于连接两个或多个数组,返回值是新数组,不改变原数组;
            注意:这个方法连接的是数组的元素,而非数组本身,但不能扁平化数组中的数组

      <script>
        var arr = [1,2,3];
        var arr1 = arr.concat([4,5]);
        console.log(arr)   //[1, 2, 3]
        console.log(arr1) //[1, 2, 3, 4, 5]  连接的是数组元素

        var arr2 = ["a","b","c"];
        var arr3 = arr.concat(["d",["e","f"]]);
        console.log(arr2); //['a', 'b', 'c']
        console.log(arr3); //[1, 2, 3, 'd',["e","f"]] 不能扁平化数组中的数组
      </script>

2.替换

    splice()

3.删除

       1. shift(): 删除数组的第一个元素,返回值是被删除的元素,改变原数组

      <script>
       var arr = [1,2,3];
       var arr1 = arr.shift();
       console.log(arr); //[2, 3]
       console.log(arr1); //1
      </script>

       2. pop(): 删除数组的最后一个元素,返回值是被删除的元素,改变原数组

     <script>
       var arr = ["a","b","c"];
       var arr1 = arr.pop();
       console.log(arr); //['a', 'b']
       console.log(arr1); //'c'
      </script>

4. 查找

       1. indexOf(): 查找数组元素所对应的下标;如果数组中存在该元素,返回的是该元素对应的下标,否则返回-1;不改变原数组
           注意:返回的元素第一次出现的位置

     <script>
       var arr = ["a","b","c"];
       var arr1 = arr.indexOf("a");
       var arr2 = arr.indexOf("e");
       console.log(arr); //['a', 'b', 'c']
       console.log(arr1); // 0
       console.log(arr2); // -1
     </script>

       2. find(): 返回通过测试(函数内判断)的数组的第一个元素的值;不改变原数组

     <script>
       var arr = ["a","b","c"];
       var arr1 = arr.find((currentVal,index,arr) => {
           return currentVal == "b";
       });
       console.log(arr); //['a', 'b', 'c']
       console.log(arr1); // 'b'
      </script>

       3. findIndex(): 返回通过测试(函数内判断)的数组的第一个元素的下标;不改变原数组

     <script>
       var arr = ["a","b","c"];
       var arr1 = arr.findIndex((currentVal,index,arr) => {
           return currentVal == "b";
       });
       console.log(arr); //['a', 'b', 'c']
       console.log(arr1); // 1
      </script>

       4 includes(): 用来判断数组是否包含指定的元素;如果是返回true,否则返回false;不改变原数组

     <script>
       var arr = ["a","b","c"];
       var arr1 = arr.includes("c");
       var arr2 = arr.includes("d")
       console.log(arr); //['a', 'b', 'c']
       console.log(arr1); // true
       console.log(arr2); //false
     </script>

5.截取

       slice(): 从已有的数组中截取选定的元素;返回值是截取的数组;不改变原数组
         参数:
           参数1(start):从何处开始选取
           参数2(end):从何处结束选取
         注意:返回的数组不包括结束位置

     <script>
        var arr = ["a","b","c"];
        var arr1 = arr.slice(0,2);
        console.log(arr); //['a', 'b', 'c']
        console.log(arr1); //['a', 'b']
     </script>

6. 排序

       1. sort(): 对数组元素进行排序;返回排序后的新数组;改变原数组
           a.不传参数,将不会按照数值大小排序,按照字符编码的顺序进行排序;

     <script>
       var arr = ["b","d","c","a"];
       var arr1 = arr.sort();
       console.log(arr); // ['a', 'b', 'c', 'd']
       console.log(arr1); // ['a', 'b', 'c', 'd']
     </script>

           b.传入参数,实现升序,降序;

    <script>
       //升序
       var arr = [4,2,3,1];
       var arr1 = arr.sort((a,b)=>{
           return a-b;
       });
       console.log(arr); // [1, 2, 3, 4]
       console.log(arr1); // [1, 2, 3, 4]

       //降序
       var arr2 = [4,2,3,1];
       var arr3 = arr.sort((a,b)=>{
           return b - a;
       });
       console.log(arr2); // [4, 2, 3, 1]
       console.log(arr3); // [4, 2, 3, 1]
    </script>

       2. reverse(): 反转数组;返回值是反转后的数组;改变原数组

      <script>
        var arr = ["a","c","b"];
        var arr1 = arr.reverse();
        console.log(arr); // ['b', 'c', 'a']
        console.log(arr1); // ['b', 'c', 'a']
      </script>

7.转换

       join(): 数组转字符串,默认用逗号隔开;返回值是转换后的字符串;不改变原数组

      <script>
        var arr = ["a","b","c"];
        var arr1 = arr.join();
        var arr2 = arr.join("-");
        console.log(arr); //  ['a', 'b', 'c']
        console.log(arr1); // a,b,c  默认用逗号隔开
        console.log(arr2); // a-b-c
      </script>

8.过滤

       1. map(): 指“映射”;返回一个新数组,其包含通过所提供的函数实现的测试的所有元素;不改变原数组

      <script>
        var arr = [1,2,3];
        var arr1 = arr.map((val) => {
            return val*2
        });
        console.log(arr); // [1, 2, 3]
        console.log(arr1); // [2, 4, 6]
      </script>

       2. filter(): 指“过滤”;返回一个新数组,数组中的元素,为原始数组元素调用函数处理后的值;不改变原数组

      <script>
        var arr = [1,2,3,4,5,6,7,8,9];
        var arr1 = arr.filter((val) => {
            return val > 5;
        });
        console.log(arr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
        console.log(arr1); // [6, 7, 8, 9]
      </script>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值