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)
判断数组是否包含指定元素,返回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, 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)
判断数组中是否有至少一个元素满足条件,返回true
或false
。let arr = [1, 2, 3]; let hasEven = arr.some(num => num % 2 === 0); // hasEven: true
every(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 方法,涵盖了添加、删除、查找、遍历、转换、排序等多种操作。熟练掌握这些方法可以极大地提高开发效率。