JavaScript数组常用API合集


🔍 遍历与查找类

  • forEach():对数组的每一项执行一次函数,不返回结果

    [1, 2, 3].forEach(num => console.log(num)); // 输出 1, 2, 3
    
  • map():对数组每一项执行函数,返回新数组

    const doubled = [1, 2, 3].map(n => n * 2); // [2, 4, 6]
    
  • filter():返回所有通过测试条件的元素的新数组

    const evens = [1, 2, 3, 4].filter(n => n % 2 === 0); // [2, 4]
    
  • find():返回第一个符合条件的元素

    const found = [5, 10, 15].find(n => n > 9); // 10
    
  • some():是否有至少一个元素满足条件

    [1, 3, 5].some(n => n % 2 === 0); // false
    
  • every():是否所有元素都满足条件

    [2, 4, 6].every(n => n % 2 === 0); // true
    

🔧 添加 / 删除元素

  • push() / pop():尾部添加或删除

    const arr = [1, 2];
    arr.push(3); // [1, 2, 3]
    arr.pop();   // [1, 2]
    
  • unshift() / shift():头部添加或删除

    arr.unshift(0); // [0, 1, 2]
    arr.shift();    // [1, 2]
    
  • splice():从任意位置添加或删除元素

    arr.splice(1, 0, 'a'); // ['1', 'a', '2']
    

🧪 测试与转换

  • includes():判断是否包含某个值

    ['a', 'b', 'c'].includes('b'); // true
    
  • indexOf() / lastIndexOf():查找索引

    ['a', 'b', 'a'].indexOf('a');      // 0
    ['a', 'b', 'a'].lastIndexOf('a');  // 2
    
  • join() / toString():转换为字符串

    ['x', 'y'].join('-');     // 'x-y'
    ['x', 'y'].toString();    // 'x,y'
    

🔄 重组与复制

  • slice():浅复制部分数组

    [1, 2, 3, 4].slice(1, 3); // [2, 3]
    
  • concat():合并数组

    [1, 2].concat([3, 4]); // [1, 2, 3, 4]
    
  • reverse() / sort():反转或排序

    [3, 1, 2].reverse(); // [2, 1, 3]
    [3, 1, 2].sort();    // [1, 2, 3]
    
  • flat():拉平嵌套数组

    [1, [2, [3]]].flat(2); // [1, 2, 3]
    
  • fill():填充数组

    new Array(3).fill('x'); // ['x', 'x', 'x']