JS 数组常用方法

72 阅读2分钟
  • push() :在数组末尾添加一个或多个元素,并返回新的长度。

    let arr = [1, 2, 3];
    arr.push(4); // arr 变成 [1, 2, 3, 4]
    
  • pop() :删除数组末尾的一个元素,并返回该元素。

    let arr = [1, 2, 3];
    let last = arr.pop(); // arr 变成 [1, 2],last 是 3
    
  • shift() :删除数组开头的一个元素,并返回该元素。

    let arr = [1, 2, 3];
    let first = arr.shift(); // arr 变成 [2, 3],first 是 1
    
  • unshift() :在数组开头添加一个或多个元素,并返回新的长度。

    let arr = [1, 2, 3];
    arr.unshift(0); // arr 变成 [0, 1, 2, 3]
    
  • concat() :合并两个或多个数组,不改变现有数组,返回一个新数组。

    let arr1 = [1, 2];
    let arr2 = [3, 4];
    let newArr = arr1.concat(arr2); // newArr 是 [1, 2, 3, 4]
    
  • slice() :返回一个从开始到结束(不包括结束)选择的数组的一部分。原数组不会被修改。

    let arr = [1, 2, 3, 4];
    let part = arr.slice(1, 3); // part 是 [2, 3]
    
  • splice() :通过删除或替换现有元素,或者添加新的元素来修改数组内容,并返回被删除的元素。

    let arr = [1, 2, 3, 4];
    let removed = arr.splice(1, 2); // arr 变成 [1, 4],removed 是 [2, 3]
    
  • forEach() :对数组的每个元素执行一次提供的函数。

    let arr = [1, 2, 3];
    arr.forEach(element => console.log(element)); // 输出 1, 2, 3
    
  • map() :创建一个新数组,其结果是该数组中的每个元素调用一个提供的函数后的返回值。

    let arr = [1, 2, 3];
    let newArr = arr.map(x => x * 2); // newArr 是 [2, 4, 6]
    
  • filter() :创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

    let arr = [1, 2, 3, 4];
    let newArr = arr.filter(x => x > 2); // newArr 是 [3, 4]
    
  • reduce() :对数组中的每个元素执行一个提供的函数,将其结果汇总为单个值。

    let arr = [1, 2, 3, 4];
    let sum = arr.reduce((acc, val) => acc + val, 0); // sum 是 10
    
  • find() :返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

    let arr = [1, 2, 3, 4];
    let found = arr.find(x => x > 2); // found 是 3
    
  • findIndex() :返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1。

    let arr = [1, 2, 3, 4];
    let index = arr.findIndex(x => x > 2); // index 是 2
    
  • includes() :判断数组是否包含某个值,如果是则返回 true,否则返回 false。

    let arr = [1, 2, 3];
    let hasTwo = arr.includes(2); // hasTwo 是 true
    
  • sort() :对数组的元素进行排序,并返回该数组。

    let arr = [3, 1, 4, 2];
    arr.sort(); // arr 变成 [1, 2, 3, 4]
    
  • reverse() :反转数组中元素的顺序并返回该数组。

    let arr = [1, 2, 3];
    arr.reverse(); // arr 变成 [3, 2, 1]