-
push() - 向数组末尾添加一个或多个元素,并返回新的长度。
let arr = [1, 2, 3]; arr.push(4); // 现在 arr 的值为 [1, 2, 3, 4]
-
pop() - 删除数组末尾的元素,并返回该元素的值。
let arr = [1, 2, 3]; let removed = arr.pop(); // removed 的值为 3,arr 的值为 [1, 2]
-
shift() - 删除数组的第一个元素,并返回该元素的值。
let arr = [1, 2, 3]; let removed = arr.shift(); // removed 的值为 1,arr 的值为 [2, 3]
-
unshift() - 向数组的开头添加一个或多个元素,并返回新的长度。
let arr = [2, 3]; arr.unshift(1); // 现在 arr 的值为 [1, 2, 3]
-
concat() - 连接两个或多个数组,并返回新的数组。
let arr1 = [1, 2]; let arr2 = [3, 4]; let newArr = arr1.concat(arr2); // newArr 的值为 [1, 2, 3, 4]
-
slice() - 从已有的数组中返回选定的元素。
let arr = [1, 2, 3, 4, 5]; let newArr = arr.slice(1, 3); // newArr 的值为 [2, 3]
-
splice() - 从数组中添加或删除元素。
let arr = [1, 2, 3, 4, 5]; arr.splice(2, 0, 6); // 从索引2开始插入元素6 // 现在 arr 的值为 [1, 2, 6, 3, 4, 5]
-
indexOf() - 返回指定元素在数组中第一次出现的索引,如果不存在则返回-1。
let arr = [1, 2, 3, 4, 5]; let index = arr.indexOf(3); // index 的值为 2
-
lastIndexOf() - 返回指定元素在数组中最后一次出现的索引,如果不存在则返回-1。
let arr = [1, 2, 3, 4, 3, 5]; let index = arr.lastIndexOf(3); // index 的值为 4
-
forEach() - 对数组的每个元素执行提供的函数。
let arr = [1, 2, 3];
arr.forEach(function(element) {
console.log(element);
});
// 控制台输出:
// 1
// 2
// 3
- map() - 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
let arr = [1, 2, 3];
let newArr = arr.map(function(element) {
return element * 2;
});
// newArr 的值为 [2, 4, 6]
- filter() - 创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(function(element) {
return element % 2 === 0;
});
// newArr 的值为 [2, 4]
- reduce() - 对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
let arr = [1, 2, 3, 4];
let sum = arr.reduce(function(accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
// sum 的值为 10
- every() - 测试数组的所有元素是否都通过了指定函数的测试。
let arr = [1, 2, 3, 4, 5];
let result = arr.every(function(element) {
return element > 0;
});
// result 的值为 true
- some() - 测试数组中的某些元素是否通过了指定函数的测试。
let arr = [1, 2, 3, 4, 5];
let result = arr.some(function(element) {
return element > 3;
});
// result 的值为 true
- find() - 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
let arr = [5, 12, 8, 130, 44];
let found = arr.find(function(element) {
return element > 10;
});
// found 的值为 12
- findIndex() - 返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1。
let arr = [5, 12, 8, 130, 44];
let foundIndex = arr.findIndex(function(element) {
return element > 10;
});
// foundIndex 的值为 1
- includes() - 判断数组是否包含某个元素,返回 true 或 false。
let arr = [1, 2, 3, 4, 5];
let isIncluded = arr.includes(3);
// isIncluded 的值为 true
- reverse() - 颠倒数组中元素的顺序,并返回该数组。
let arr = [1, 2, 3, 4, 5];
arr.reverse();
// 现在 arr 的值为 [5, 4, 3, 2, 1]
- sort() - 对数组元素进行排序,并返回排序后的数组。
let arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
arr.sort();
// 现在 arr 的值为 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
- join() - 将数组中所有元素转换为字符串并连接起来。
let arr = ["Hello", "World", "!"];
let result = arr21. join() - 将数组中所有元素连接成一个字符串。
```javascript
let arr = ['Hello', 'World', '!'];
let str = arr.join(' ');
// str 的值为 'Hello World !'
- toString() - 将数组转换为字符串,并返回结果。
let arr = [1, 2, 3];
let str = arr.toString();
// str 的值为 '1,2,3'
- fill() - 用一个固定值填充数组中从起始索引到终止索引内的全部元素。
let arr = [1, 2, 3, 4, 5];
arr.fill(0, 2, 4);
// 现在 arr 的值为 [1, 2, 0, 0, 5]
- flat() - 将所有子数组元素和指定深度的子数组元素连接成一个新数组。
let arr = [1, 2, [3, 4, [5, 6]]];
let newArr = arr.flat(2);
// newArr 的值为 [1, 2, 3, 4, 5, 6]
- isArray() - 判断一个对象是否为数组。
let arr = [1, 2, 3];
let isArr = Array.isArray(arr);
// isArr 的值为 true
- slice() - 从已有的数组中返回选定的元素。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(1, 3);
// newArr 的值为 [2, 3]
- keys() - 返回数组索引的迭代器。
let arr = ['a', 'b', 'c'];
let iterator = arr.keys();
for (let key of iterator) {
console.log(key);
}
// 控制台输出:
// 0
// 1
// 2
- values() - 返回数组值的迭代器。
let arr = ['a', 'b', 'c'];
let iterator = arr.values();
for (let value of iterator) {
console.log(value);
}
// 控制台输出:
// 'a'
// 'b'
// 'c'
- entries() - 返回数组索引/值对的迭代器。
let arr = ['a', 'b', 'c'];
let iterator = arr.entries();
for (let entry of iterator) {
console.log(entry);
}
// 控制台输出:
// [0, 'a']
// [1, 'b']
// [2, 'c']
- from() - 通过类数组对象或可迭代对象创建一个新的数组。
let arr = Array.from('hello');
// arr 的值为 ['h', 'e', 'l', 'l', 'o']
- flatMap() - 首先使用map方法,然后使用flat方法,将结果扁平化为一个新数组。
let arr = [1, 2, 3];
let newArr = arr.flatMap(x => [x * 2]);
// newArr 的值为 [2, 4, 6]
- copyWithin() - 从数组的指定位置拷贝元素到数组的另一个指定位置。
let arr = [1, 2, 3, 4, 5];
arr.copyWithin(0, 3, 4);
// 现在 arr 的值为 [4, 2, 3, 4, 5]
- toLocaleString() - 返回一个字符串表示数组中的元素。数组中的元素将使用各自的toLocaleString方法转成字符串,这些字符串将使用一个特定的区域设置格式。
let arr = [new Date('2022-01-01'), new Date('2022-02-01'), new Date('2022-03-01')];
let str = arr.toLocaleString('en', { timeZone: 'UTC' });
// str 的值为 '1/1/2022, 2/1/2022, 3/1/2022'
- Symbol.iterator - 通过使用 for…of 循环遍历数组。
let arr = ['a', 'b', 'c'];
for (let value of arr) {
console.log(value);
}
// 控制台输出:
// 'a'
// 'b'
// 'c'