JS中常用的一些数组方法

144 阅读3分钟

一、一些基本的数组方法

1、push() 往数组的最后一位添加元素

2、pop() 删除数组最后一位元素

3、shift() 删除数组第一位元素

4、unshift() 给数组第一位添加元素

5、concat() 合并数组

    var arr = [1, 2, 3];
    var arr1 = [100,200,300]
    arr.push(4);
    console.log(arr); // [1, 2, 3, 4]
    arr.pop();
    console.log(arr); // [1, 2, 3]
    arr.shift();
    console.log(arr); // [2, 3]
    arr.unshift(1);
    console.log(arr); // [1, 2, 3]
    arr = arr.concat(arr1);
    console.log(arr); // [1, 2, 3, 100, 200, 300]

6、splice()

(1) 如果有两个参数,表示执行删除当前元素的某一元素

    splice( i , length);
    第一个参数i:下标索引
    第二个参数length:长度

(2) 如果有三个参数,表示要替换数组中某一个元素

    splice( i , length , text)
    第一个参数i:下标索引
    第二个参数length:长度
    第三个参数text:要替换的内容
    
    var arr = ['迪迦', '盖亚', '戴拿', '梦比优斯'];
    arr.splice(0, 1); // 只删除从arr[0]开始的1个
    console.log(arr); // ['盖亚', '戴拿', '梦比优斯']
    arr.splice(1, 1, "贝利亚") // 将arr[1]替换为 贝利亚
    console.log(arr); // ['盖亚', '贝利亚', '梦比优斯']
    arr.splice(1, 2, "欧布") // 将a[1]a[2] 替换为一个 欧布
    console.log(arr); // ['盖亚', '欧布']
    arr.splice(1, 1, '维克托利', '捷德'); // 把a[1]替换为 维克托利  在后面添加一个元素 捷德
    console.log(arr); // ['盖亚', '维克托利', '捷德']

7、slice() 数组的截取

两个参数:

 slice(a , b);
 a:表示起始下表位置
 b:表示结束下表位置(不包含bvar arr = [10, 20, 30, 40, 50];
    var newArr = [];
    newArr = arr.slice(1, 3); // 表示截取arr[1]~arr[3] 但不包括arr[3]
    console.log(newArr);  // [20, 30]
    newArr = arr.slice(2,) // 表示截取从arr[2] 到数组最后一位
    console.log(newArr); // [30, 40, 50]
    var arr1 = [1,2,3,4];

8、join()

将数组中的元素,用传入的拼接符拼接成一个字符串,返回结果是一个字符串

    var arr = ['hello','world','JavaScript'];
    var a = arr.join(' ');
    console.log(a); // hello world JavaScript

9、reverse() 反转数组

   var arr = [1,2,3,4,5,6];
   arr.reverse();
   console.log(arr); // [6, 5, 4, 3, 2, 1]

10、split() 将字符串分割为数组

用传入的拼接符将字符串分割为字符串数组

   var str = 'hello world JavaScript';
   var arr = str.split(' ');

二.ES6中的数组方法

格式:
数组.方法((item, index, array)=> {    // item 表示数组中每一项     index下标索引   array原数组
        return 条件
    })

1、some

当一个数组中只要有一个元素能够匹配,则返回true,反之返回false

eg:
    const arr = [3, 6, 9, 9, 12]
    const result = arr.some(item => item > 3) //true
    const result2 = arr.some(item => item > 12) // false
    console.log(result,result2);

2、every

当一个数组中所有的元素都匹配,则返回true,反之返回false

eg:
    const date = [
        {
            name: '张三',
            age: 19,
            sex: '男'
        }, {
            name: '小红',
            age: 20,
            sex: '女'
        }
    ]
    const result = date.every(item => item.sex == '男')
    const result2 = date.every(item => item.age > 18)
    console.log(result, result2); // false  true

3、map

根据现有数组生成一个长度相同的 新数组

4、filter

对数组进行筛选 返回符合条件的 新数组

5、find

对当前数组进行查询 找到符合条件的元素 只返回第一个匹配到的元素

eg:
    const arr = [1, 2, 3]
    const result = arr.find(item => item >= 2)
    console.log(result); // 2

6、findIndex

对当前数组进行查询 找到符合条件的元素下标索引

只返回第一个匹配到的元素下标

没有找到则返回-1s

eg:
    const arr = [1, 2, 3]
    const result = arr.findIndex(item => item >= 2)
    console.log(result); // 1

以上是我自己总结的在JS中一些常用的数组方法,在Vue项目或者移动端项目中也有较多的登场率,如果有错误请大家指正。