js数组常用19种方法(建议收藏)

本文详细介绍了JavaScript中对数组的各种操作方法,包括改变原数组的push、pop、unshift、shift、reverse、sort和splice,以及不改变原数组的concat、join、slice、indexOf和lastIndexOf。此外,还重点讲解了ES6新增的数组方法如forEach、map、filter、every、some、find和reduce。

一、对原数组有改变的方法

1.push()末尾添加数据 

2.pop()末尾处删除数据

3.unshift()头部添加数据

4.shifr()头部删除数据

5.reverse()翻转数组

6.sort()排序

7.splice()截取数组

二、不改变原数组的方法

1.concat()合并数组

2.join()数组转字符串

3.slice()截取数组的一部分数据

4.indexOf 从左检查数组中有没有这个数值

5.lastIndexOf 从右检查数组中有没有这个数值

三、ES6新增的数组方法

1、forEach()用来循环遍历的for

2、map  映射数组的

3.filter 过滤数组

4.every 判断数组是不是满足所有条件

5.some()数组中有没有满足条件的

6.find()用来获取数组中满足条件的第一个数据

7.reduce()叠加后的效果 

1.push() 末尾添加数据数组

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

 2.pop()末尾处删除数据

    <script>
        //pop() 删除数组最后一个元素
        var  arr=[1,2,3,4,5];
        res =arr.push();
        console.log(res);//[5]
        console.log(arr);//[1,2,3,4] 
    </script>

3.unshift()头部添加数据

    <script>
        //unshift(数据)方法
        //向数组的开头添加一个或更多元素,并返回新的长度。
        var  arr=[1,2,3,4,5];
        res =arr.unshift(0);
        console.log(res);//[6]
        console.log(arr);//[0,1,2,3,4,5] 
    </script>

 4.shift()头部删除数据

    <script>
        //shift()方法
        //删除数组的第一项,并返回删除的项
        //原数组改变
        var  arr=[1,2,3,4,5];
        res =arr.shift();
        console.log(res);//[1]
        console.log(arr);//[2,3,4,5] 
    </script>

5.reverse()翻转数组 

    <script>
        //reverse()方法用于颠倒数组中元素的顺序。
        //返回值:返回颠倒后的数组。
        var  arr=[1,2,3,4,5];
        res =arr.reverse();
        console.log(res);//[5,4,3,2,1]
        console.log(arr);//[5,4,3,2,1]
    </script>

6.sort()排序

<script>
      //sort()
       var arr = [3, 43, 48, 52, 4, 5, 99, 41, 67]
       arr.sort()
          console.log(arr);
       arr.sort(function(a,b){return(a-b)})
          console.log(arr);
       arr.sort(function(a,b){return(b-a)})
          console.log(arr);
    </script>

7.splice()截取数组

    <script>
     //用法一:splice(开始的索引,结束的索引,添加的元素) 
     // 截取从开始到结束的元素,并添加元素
     //返回被删除的元素
       var arr = [10, 60, 8, 56, 48, 75]
          res = arr.splice(1,2,100,200)
          console.log(arr);//[10, 100, 200, 56, 48, 75]
          console.log(res);//[60, 8]
          
     //用法二:slice(开始的索引,结束的索引) 
     // 截取从开始到结束的元素,并返回截取的元素
       var arr = [10, 60, 8, 56, 48, 75]
          res = arr.slice(1,2)
          console.log(arr);//[10, 56, 48, 75]
          console.log(res);//[60, 8]
    </script>

二、不改变原数组的方法 

1.concat()合并数组

    <script>
       //concat() 合并数组,返回新数组
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.concat(10,"测试",40)
          console.log(arr);//[10, 60, 80, 50, 40, 70, 10, 40]
          console.log(res);//[10, 60, 80, 50, 40, 70, 10, 40, 10, '测试', 40]
    </script>

 2.join()数组转字符串

    <script>
       //join()把数组中的元素用指定的字符串连接起来
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.join("+")
          console.log(arr);//[10, 60, 80, 50, 40, 70, 10, 40]
          console.log(res);//10+60+80+50+40+70+10+40
    </script>

3.slice()截取数组的一部分数据

    <script>
       //slice (开始索引,结束索引)
       //截取数组,返回截取的数组
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.slice(1,4)
          console.log(arr);//[10, 60, 80, 50, 40, 70, 10, 40]
          console.log(res);//[60, 80, 50]
    </script>

4.indexof 从左检查数组中有没有这个数值

    <script>
       //indexOf=>作用就是判断数组中是否包含某个元素
       //语法:数组.indexOf(元素)
       //返回值:如果找到元素,返回元素在数组中的索引位置,如果找不到返回-1
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.indexOf(50)
          console.log(arr);
          console.log(res);
       //indexOf()语法二:数组.indexOf(元素,起始索引位置)
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.indexOf(40,3)
          console.log(arr); 
          console.log(res);
    </script>

5.lastIndexOf 从右检查数组中有没有这个数值

    <script>
       //lastIndexOf=>作用就是判断数组中是否包含某个元素
       //语法:数组.lastIndexOf(元素)
       //返回值:如果找到元素,返回元素在数组中的索引位置,如果找不到返回-1
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.lastIndexOf(50)
          console.log(arr);
          console.log(res);
       //indexOf()语法二:数组.lastIndexOf(元素,起始索引位置)
       var arr = [10, 60, 80, 50, 40, 70, 10, 40]
          res = arr.lastIndexOf(40,3)
          console.log(arr); 
          console.log(res);
    </script>

三、ES6新增的数组方法

1.forEach()用来循环遍历的 for

    <script>
    //forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
    //item: 数组中正在处理的当前元素。
    //index: 可选,数组中正在处理的当前元素的索引。
    //arr: 可选,forEach() 方法正在操作的数组。
     var arr = [1, 2, 3, 4, 5]
          console.log( arr);
     var res = arr.forEach(function (item, index, arr) {
          console.log(item, index, arr);
       })
    </script>

2.map 映射数组

    <script>
    //map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
     var arr = [1, 2, 3, 4, 5]
          console.log( arr);//[1, 2, 3, 4, 5]
     var res = arr.map(function (item) {
          return item * 200;
       })
       console.log(res);//[200, 400, 600, 800, 1000]
    </script>

3.filter 过滤数组

    <script>
    //filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
    //注意: filter() 不会对空数组进行检测。
    //注意: filter() 不会改变原始数组。
     var arr = [1, 20, 35, 44, 50]
          console.log( arr);//[1, 20, 35, 44, 50]
     var res = arr.filter(function (item) {
          return item > 40;
       })
       console.log(res);//[44, 50]
    </script>

4.every 判断数组是不是满足所有条件

    <script>
    //every 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
    //如果所有元素都通过检测,则返回 true;否则返回 false。
     var arr = [1, 20, 35, 44, 50]
          console.log( arr);//[1, 20, 35, 44, 50]
     var res = arr.every(function (item) {
          return item > 20;
       })
       console.log(res);//false
    </script>

5.some()数组中有没有满足条件的

    <script>
    //some =>
    //some 方法是用来检测数组中是否含有符合条件的元素
    //如果有,则返回true,否则返回false
    //some 方法不会对空数组进行检测
    //some 方法不会改变原始数组
     var arr = [1, 20, 35, 44, 50]
          console.log( arr);//[1, 20, 35, 44, 50]
     var res = arr.some(function (item) {
          return item > 22;
       })
       console.log(res);//true
    </script>

6.find()用来获取数组中满足条件的第一个数据

    <script>
    //find()方法
    //find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
    //find()方法不会改变原始数组。
     var arr = [1, 20, 35, 44, 50]
          console.log( arr);//[1, 20, 35, 44, 50]
     var res = arr.find(function (item) {
          return item > 22;
       })
       console.log(res);//35
    </script>

7.reduce()叠加后的效果

    <script>
    //reduce =>
    //用于把数组中的所有值相加得到一个值
    //result => 初始值
    //item => 数组中的每一个值
    //result => 每一次相加的结果
     var arr = [1, 20, 35, 44, 50]
          console.log( arr);//[1, 20, 35, 44, 50]
     var res = arr.reduce(function (result,item) {
          return result+item;
       })
       console.log(res);//150
    </script>

### JavaScript 数组常用方法总结 以下是关于 JavaScript数组的一些常见方法及其功能说明: #### 1. `concat()` 方法 `concat()` 方法用于将两个或多个数组合并成一个新的数组。该方法不会修改原始数组,而是返回一个新数组。需要注意的是,它会连接数组的元素而不是整个数组对象,并且无法自动扁平化嵌套数组。 ```javascript var arr = [1, 2, 3]; var newArr = arr.concat([4, 5], [6]); console.log(newArr); // 输出: [1, 2, 3, 4, 5, 6] ``` 此行为已在描述中提及[^1]。 --- #### 2. `isArray()` 方法 `Array.isArray()` 是一种用来检测给定变量是否为数组方法。如果传入的对象是一个数组,则返回 `true`;否则返回 `false`。 ```javascript const arrayLikeObject = { length: 3 }; console.log(Array.isArray(arrayLikeObject)); // false const realArray = ['a', 'b', 'c']; console.log(Array.isArray(realArray)); // true ``` 这一特性已被记录于参考资料中[^2]。 --- #### 3. `includes()` 方法 `includes()` 方法可以判断某个数组是否包含指定的值。如果是则返回 `true`,反之返回 `false`。支持从特定索引位置开始搜索可选参数。 ```javascript let numbers = [1, 2, 3]; console.log(numbers.includes(2)); // true console.log(numbers.includes(4)); // false ``` 同样,在资料中有提到过其基本用途[^2]。 --- #### 4. `reverse()` 方法 通过调用 `reverse()` 可以反转当前数组内的元素排列次序。操作完成后原数组会被更改。 ```javascript let fruits = ['apple', 'banana', 'cherry']; fruits.reverse(); console.log(fruits); // ["cherry", "banana", "apple"] ``` 上述例子展示了如何利用 reverse 函数来实现逆向排序[^3]。 --- #### 5. `shift()` 和 `unshift()` 方法 - **`shift()`**: 移除并返回第一个元素,同时缩短长度。 - **`unshift(...elements)`**: 向头部添加任意数量的新项,并扩展总大小。 示例如下所示: ```javascript let colors = ['red', 'green', 'blue']; colors.shift(); // 删除首项 ('red') console.log(colors); // ['green', 'blue'] colors.unshift('yellow'); // 插入到开头 ('yellow') console.log(colors); // ['yellow', 'green', 'blue'] ``` 这些细节也已体现在先前的内容里[^3]。 --- #### 总结 以上列举了几种常用JavaScript 数组处理技术,每种都有各自的特点与适用场景,请根据实际需求选用合适的工具完成开发任务!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值