1.push() - 将一个或多个元素添加到数组的末尾,并返回新数组的长度。
let arr = [1, 2, 3];
let length = arr.push(4, 5); // [1, 2, 3, 4, 5], 返回值 5
2.pop() - 从数组的末尾删除最后一个元素,并返回该元素。
let arr = [1, 2, 3];
let lastNum = arr.pop(); // [1, 2], 返回值 3
3.shift() - 从数组的开头删除第一个元素,并返回该元素。
let arr = [1, 2, 3];
let firstNum = arr.shift(); // [2, 3], 返回值 1
4.unshift() - 将一个或多个元素添加到数组的开头,并返回新数组的长度。
let arr = [1, 2, 3];
let length = arr.unshift(0, -1); // [-1, 0, 1, 2, 3], 返回值 5
5.slice() - 从现有数组中返回选定元素的新数组,而不修改原始数组。
let arr = [1, 2, 3, 4, 5];
let sliceArr = arr.slice(2, 4); // [3, 4], 原数组不变
6.splice() - 可删除或替换现有数组中的元素,或向其中插入新元素。
let arr = [1, 2, 3, 4, 5];
let deletedArr = arr.splice(1, 2, 'a', 'b'); // [1, 'a', 'b', 4, 5], 返回值 [2, 3]
7.concat() - 将两个或多个数组连接成一个新数组。
let arr1 = [1, 2];
let arr2 = [3, 4];
let newArr = arr1.concat(arr2); // [1, 2, 3, 4]
8.sort() - 对数组进行排序,默认是按照字母或数字升序排序。
let arr = [2, 4, 1, 3, 5];
let sortedArr = arr.sort(); // [1, 2, 3, 4, 5]
9.reverse() - 反转数组中元素的顺序。
let arr = [1, 2, 3, 4, 5];
let reversedArr = arr.reverse(); // [5, 4, 3, 2, 1]
10.join() - 将数组元素连接为字符串并返回该字符串。
let arr = [1, 2, 3];
let joinedStr = arr.join('-'); // '1-2-3'
11.forEach() - 对数组中的每个元素执行一次回调函数。
let arr = [1, 2, 3];
arr.forEach(function(item) {
console.log(item);
});
12.filter() - 使用提供的函数筛选元素并返回新数组。
let arr = [1, 2, 3, 4, 5];
let filteredArr = arr.filter(function(item) {
return item > 2;
});
console.log(filteredArr); // [3, 4, 5]
13.map() - 对数组中的每个元素执行一次回调函数,并返回一个新数组。
let arr = [1, 2, 3];
let mappedArr = arr.map(function(item) {
return item * 2;
});
console.log(mappedArr); // [2, 4, 6]
14.reduce() - 对数组中的所有元素进行累加,并返回单个值。
let arr = [1, 2, 3];
let sum = arr.reduce(function(total, current) {
return total + current;
}, 0);
console.log(sum); // 6
15.find() - 返回数组中第一个满足提供测试函数的元素。
let arr = [1, 2, 3, 4, 5];
let found = arr.find(function(item) {
return item > 2;
});
console.log(found); // 3
16.findIndex() - 返回数组中第一个通过测试的元素的索引。
let arr = [1, 2, 3, 4, 5];
let foundIndex = arr.findIndex(function(item) {
return item > 2;
});
console.log(foundIndex); // 2
17.indexOf() - 返回指定元素在数组中第一次出现的索引。
let arr = [1, 2, 3, 4, 5];
let index = arr.indexOf(3);
console.log(index); // 2
18.lastIndexOf() - 返回指定元素在数组中最后一次出现的索引。
let arr = [1, 2, 3, 3, 4, 5];
let lastIndex = arr.lastIndexOf(3);
console.log(lastIndex); // 3
19.include() - 判断数组中是否包含指定元素。
let arr = [1, 2, 3, 4, 5];
let isIncluded = arr.includes(3);
console.log(isIncluded); // true
20.fill() - 使用指定值填充数组中的元素。
let arr = new Array(5);
arr.fill(0);
console.log(arr); // [0, 0, 0, 0, 0]
21.flat() - 将嵌套数组展开为单层数组。
let arr = [1, [2, 3], [4], 5];
let flattenedArr = arr.flat();
console.log(flattenedArr); // [1, 2, 3, 4, 5]
22.flatMap() - 将每个元素通过函数处理后拍平为单层数组。
let arr = [1, 2, 3];
let flattenedArr = arr.flatMap(function(item) {
return [item*2, item*3];
});
console.log(flattenedArr); // [2, 3, 4, 6, 6, 9]
23.every() - 判断数组中的每个元素是否满足指定的条件。
let arr = [1, 2, 3, 4, 5];
let isAllEven = arr.every(function(item) {
return item % 2 === 0;
});
console.log(isAllEven); // false
24.some() - 判断数组中是否有任何元素满足指定的条件。
let arr = [1, 2, 3, 4, 5];
let hasEven = arr.some(function(item) {
return item % 2 === 0;
});
console.log(hasEven); // true
25.reduceRight() - 从右到左累加所有元素,并返回单个值。
let arr = [1, 2, 3];
let sum = arr.reduceRight(function(total, current) {
return total + current;
}, 0);
console.log(sum); // 6
26.copyWithin() - 从指定的位置开始复制数组的一部分到相同数组的另一个位置。
let arr = [1, 2, 3, 4, 5];
arr.copyWithin(2, 0, 2); // [1, 2, 1, 2, 5]
27.entries() - 返回迭代器,用于通过数组的索引遍历键值对。
let arr = [1, 2, 3];
let iterator = arr.entries();
console.log(iterator.next().value); // [0, 1]
console.log(iterator.next().value); // [1, 2]
console.log(iterator.next().value); // [2, 3]
28.keys() - 返回包含数组中每个索引值的迭代器。
let arr = [1, 2, 3];
let iterator = arr.keys();
console.log(iterator.next().value); // 0
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2
29.values() - 返回包含数组中每个值的迭代器。在ES2015中新增。
let arr = [1, 2, 3];
let iterator = arr.values();
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2
console.log(iterator.next().value); // 3