增:
-
push()
:向数组末尾添加元素,返回新数组的长度。let arr = [1, 2, 3]; let newLength = arr.push(4); console.log(arr); // [1, 2, 3, 4] console.log(newLength); // 4
-
unshift()
:向数组开头添加元素,返回新数组长度。let arr = [1, 2, 3]; let newLength = arr.unshift(0); console.log(arr); // [0, 1, 2, 3] console.log(newLength); // 4
-
concat()
:连接多个数组,返回一个新的数组,不修改原数组。let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let newArr = arr1.concat(arr2); console.log(newArr); // [1, 2, 3, 4, 5, 6]
删:
-
pop()
:移除数组末尾的元素,返回该元素。let arr = [1, 2, 3]; let removedElement = arr.pop(); console.log(arr); // [1, 2] console.log(removedElement); // 3
-
shift()
:移除数组开头的元素,返回该元素。let arr = [1, 2, 3]; let removedElement = arr.shift(); console.log(arr); // [2, 3] console.log(removedElement); // 1
-
slice()
:返回数组的一个子数组,不修改原数组。let arr = [1, 2, 3, 4, 5]; let newArr = arr.slice(1, 4); console.log(newArr); // [2, 3, 4]
改:
splice()
:用于添加、删除或替换数组元素,返回操作元素。let arr = [1, 2, 3, 4, 5]; let removedElements = arr.splice(2, 2, 6, 7); console.log(arr); // [1, 2, 6, 7, 5] console.log(removedElements); // [3, 4]
查:
-
indexOf()
:返回元素首次出现的索引,找不到返回 -1。let arr = [1, 2, 3, 4]; let index = arr.indexOf(3); console.log(index); // 2
-
includes()
:判断数组中是否存在某个元素。let arr = [1, 2, 3, 4]; let hasThree = arr.includes(3); console.log(hasThree); // true
-
find()
:返回第一个符合条件的元素。let arr = [1, 2, 3, 4]; let found = arr.find(element => element > 2); console.log(found); // 3
-
some()
:判断数组中是否有至少一个元素满足条件。let arr = [1, 2, 3, 4]; let hasEven = arr.some(element => element % 2 === 0); console.log(hasEven); // true
-
every()
:判断数组中是否全部元素满足条件。let arr = [1, 2, 3, 4]; let allEven = arr.every(element => element % 2 === 0); console.log(allEven); // false
迭代:
-
forEach()
:遍历数组,适合执行副作用操作。let arr = [1, 2, 3]; arr.forEach((item, index) => { console.log(`Index: ${index}, Item: ${item}`); }); // Output: // Index: 0, Item: 1 // Index: 1, Item: 2 // Index: 2, Item: 3
-
map()
:对数组的每个元素进行转换,返回新数组。let arr = [1, 2, 3]; let doubled = arr.map(item => item * 2); console.log(doubled); // [2, 4, 6]
-
filter()
:过滤符合条件的数组项,返回新数组。let arr = [1, 2, 3, 4, 5]; let evenNumbers = arr.filter(item => item % 2 === 0); console.log(evenNumbers); // [2, 4]
-
reduce()
:将数组中的所有元素按照某种规则累加/组合,返回单个值。let arr = [1, 2, 3, 4]; let sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0); console.log(sum); // 10
排序:
-
sort()
:根据指定的排序规则对数组进行排序,默认按字符编码排序,可以传入比较函数来进行自定义排序。let arr = [4, 2, 5, 1, 3]; arr.sort(); // 默认按字符编码排序 console.log(arr); // [1, 2, 3, 4, 5] // 自定义排序(数字升序) let numArr = [4, 2, 5, 1, 3]; numArr.sort((a, b) => a - b); console.log(numArr); // [1, 2, 3, 4, 5] // 自定义排序(数字降序) numArr.sort((a, b) => b - a); console.log(numArr); // [5, 4, 3, 2, 1]
-
reverse()
:反转数组的顺序。let arr = [1, 2, 3, 4, 5]; arr.reverse(); console.log(arr); // [5, 4, 3, 2, 1]
转换:
-
join():将数组转换为一个字符串,使用指定的分隔符连接各个元素。
let arr = [1, 2, 3, 4, 5]; let str = arr.join('-'); console.log(str); // "1-2-3-4-5"
-
toString():将数组转换为一个字符串,元素之间以逗号分隔。
let arr = [1, 2, 3, 4, 5]; let str = arr.toString(); console.log(str); // "1,2,3,4,5"
-
from():将类数组对象或可迭代对象转换为数组。(也可以用扩展运算符
[...]
)let str = 'hello'; let arr = Array.from(str); console.log(arr); // ['h', 'e', 'l', 'l', 'o'] console.log([...arr]); // ['h', 'e', 'l', 'l', 'o']