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: 1lastIndexOf(searchElement, fromIndex)
返回指定元素在数组中最后一次出现的索引,若不存在则返回-1。let arr = [1, 2, 3, 2]; let index = arr.lastIndexOf(2); // index: 3find(callback)
返回数组中满足条件的第一个元素,若没有则返回undefined。let arr = [1, 2, 3, 4]; let result = arr.find(num => num > 2); // result: 3findIndex(callback)
返回数组中满足条件的第一个元素的索引,若没有则返回-1。let arr = [1, 2, 3, 4]; let index = arr.findIndex(num => num > 2); // index: 2filter(callback)
返回一个新数组,包含所有满足条件的元素。let arr = [1, 2, 3, 4]; let filtered = arr.filter(num => num > 2); // filtered: [3, 4]includes(searchElement, fromIndex)
判断数组是否包含指定元素,返回true或false。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, 3map(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: 10reduceRight(callback, initialValue)
从右到左对数组中的元素进行累积操作,返回一个最终值。let arr = [1, 2, 3, 4]; let sum = arr.reduceRight((acc, num) => acc + num, 0); // sum: 10some(callback)
判断数组中是否有至少一个元素满足条件,返回true或false。let arr = [1, 2, 3]; let hasEven = arr.some(num => num % 2 === 0); // hasEven: trueevery(callback)
判断数组中所有元素是否都满足条件,返回true或false。let arr = [2, 4, 6]; let allEven = arr.every(num => num % 2 === 0); // allEven: true
4. 数组转换
slice(start, end)
返回从start到end(不包括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)
用指定值填充数组中从start到end的元素。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 方法,涵盖了添加、删除、查找、遍历、转换、排序等多种操作。熟练掌握这些方法可以极大地提高开发效率。