博主头像
<CodeEra />

心存敬畏 行有所止

JavaScript 中数组 API 方法示例

JavaScript 中的数组(Array)提供了丰富的 API 方法,用于操作和处理数组。以下是 JavaScript 中数组的所有常用 API 方法,按功能分类列出:


1. 添加和删除元素

  • push(element1, ..., elementN)
    向数组末尾添加一个或多个元素,返回新数组的长度。

    let arr = [1, 2];
    arr.push(3, 4); // arr: [1, 2, 3, 4]
  • pop()
    移除并返回数组的最后一个元素。

    let arr = [1, 2, 3];
    let last = arr.pop(); // last: 3, arr: [1, 2]
  • unshift(element1, ..., elementN)
    向数组开头添加一个或多个元素,返回新数组的长度。

    let arr = [2, 3];
    arr.unshift(0, 1); // arr: [0, 1, 2, 3]
  • shift()
    移除并返回数组的第一个元素。

    let arr = [1, 2, 3];
    let first = arr.shift(); // first: 1, arr: [2, 3]
  • splice(start, deleteCount, item1, item2, ...)
    从指定位置删除或替换元素,返回被删除的元素组成的数组。

    let arr = [1, 2, 3, 4];
    let removed = arr.splice(1, 2, 5, 6); // removed: [2, 3], arr: [1, 5, 6, 4]

2. 查找和过滤

  • indexOf(searchElement, fromIndex)
    返回指定元素在数组中首次出现的索引,若不存在则返回 -1

    let arr = [1, 2, 3, 2];
    let index = arr.indexOf(2); // index: 1
  • lastIndexOf(searchElement, fromIndex)
    返回指定元素在数组中最后一次出现的索引,若不存在则返回 -1

    let arr = [1, 2, 3, 2];
    let index = arr.lastIndexOf(2); // index: 3
  • find(callback)
    返回数组中满足条件的第一个元素,若没有则返回 undefined

    let arr = [1, 2, 3, 4];
    let result = arr.find(num => num > 2); // result: 3
  • findIndex(callback)
    返回数组中满足条件的第一个元素的索引,若没有则返回 -1

    let arr = [1, 2, 3, 4];
    let index = arr.findIndex(num => num > 2); // index: 2
  • filter(callback)
    返回一个新数组,包含所有满足条件的元素。

    let arr = [1, 2, 3, 4];
    let filtered = arr.filter(num => num > 2); // filtered: [3, 4]
  • includes(searchElement, fromIndex)
    判断数组是否包含指定元素,返回 truefalse

    let arr = [1, 2, 3];
    let hasTwo = arr.includes(2); // hasTwo: true

3. 遍历和迭代

  • forEach(callback)
    对数组中的每个元素执行回调函数,无返回值。

    let arr = [1, 2, 3];
    arr.forEach(num => console.log(num)); // 输出: 1, 2, 3
  • map(callback)
    返回一个新数组,其中每个元素是回调函数的返回值。

    let arr = [1, 2, 3];
    let doubled = arr.map(num => num * 2); // doubled: [2, 4, 6]
  • reduce(callback, initialValue)
    对数组中的元素进行累积操作,返回一个最终值。

    let arr = [1, 2, 3, 4];
    let sum = arr.reduce((acc, num) => acc + num, 0); // sum: 10
  • reduceRight(callback, initialValue)
    从右到左对数组中的元素进行累积操作,返回一个最终值。

    let arr = [1, 2, 3, 4];
    let sum = arr.reduceRight((acc, num) => acc + num, 0); // sum: 10
  • some(callback)
    判断数组中是否有至少一个元素满足条件,返回 truefalse

    let arr = [1, 2, 3];
    let hasEven = arr.some(num => num % 2 === 0); // hasEven: true
  • every(callback)
    判断数组中所有元素是否都满足条件,返回 truefalse

    let arr = [2, 4, 6];
    let allEven = arr.every(num => num % 2 === 0); // allEven: true

4. 数组转换

  • slice(start, end)
    返回从 startend(不包括 end)的子数组。

    let arr = [1, 2, 3, 4];
    let sliced = arr.slice(1, 3); // sliced: [2, 3]
  • concat(array1, array2, ...)
    合并两个或多个数组,返回一个新数组。

    let arr1 = [1, 2];
    let arr2 = [3, 4];
    let merged = arr1.concat(arr2); // merged: [1, 2, 3, 4]
  • join(separator)
    将数组中的所有元素连接成一个字符串。

    let arr = [1, 2, 3];
    let str = arr.join('-'); // str: "1-2-3"
  • toString()
    将数组转换为字符串,元素之间用逗号分隔。

    let arr = [1, 2, 3];
    let str = arr.toString(); // str: "1,2,3"

5. 排序和反转

  • sort(compareFunction)
    对数组中的元素进行排序,返回排序后的数组。

    let arr = [3, 1, 4, 2];
    arr.sort((a, b) => a - b); // arr: [1, 2, 3, 4]
  • reverse()
    反转数组中的元素顺序,返回反转后的数组。

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

6. 其他

  • fill(value, start, end)
    用指定值填充数组中从 startend 的元素。

    let arr = [1, 2, 3, 4];
    arr.fill(0, 1, 3); // arr: [1, 0, 0, 4]
  • flat(depth)
    将嵌套数组扁平化,返回一个新数组。

    let arr = [1, [2, [3, 4]]];
    let flatArr = arr.flat(2); // flatArr: [1, 2, 3, 4]
  • flatMap(callback)
    先对数组中的每个元素执行 map,然后将结果扁平化一层。

    let arr = [1, 2, 3];
    let result = arr.flatMap(num => [num, num * 2]); // result: [1, 2, 2, 4, 3, 6]

总结

JavaScript 数组提供了丰富的 API 方法,涵盖了添加、删除、查找、遍历、转换、排序等多种操作。熟练掌握这些方法可以极大地提高开发效率。

发表新评论