JavaScript操作数组常用的方法(包含es6)
1. forEach()
forEach() 方法可以遍历数组中的每个元素,并对其进行操作,例如:
const arr = [1, 2, 3];
arr.forEach(num => console.log(num));
// 输出:1 2 3
2. map()
map() 方法可以根据数组中的每个元素生成一个新的数组,例如:
const arr = [1, 2, 3];
const newArr = arr.map(num => num * 2);
console.log(newArr);
// 输出:[2, 4, 6]
3. filter()
filter() 方法可以根据指定的条件过滤数组中的元素,例如:
const arr = [1, 2, 3];
const filteredArr = arr.filter(num => num > 1);
console.log(filteredArr);
// 输出:[2, 3]
4. reduce()
reduce() 方法可以将数组中的所有元素累加到一个单独的值中,例如:
const arr = [1, 2, 3];
const sum = arr.reduce((acc, num) => acc + num, 0);
console.log(sum);
// 输出:6
5. find()
find() 方法可以查找符合指定条件的数组元素,并返回第一个匹配的元素,例如:
const arr = [1, 2, 3];
const foundNum = arr.find(num => num > 1);
console.log(foundNum);
// 输出:2
6. findIndex()
findIndex() 方法可以查找符合指定条件的数组元素,并返回第一个匹配的元素的索引,例如:
const arr = [1, 2, 3];
const foundIndex = arr.findIndex(num => num > 1);
console.log(foundIndex);
// 输出:1
7. includes()
includes() 方法可以检查数组中是否包含指定的元素,例如:
const arr = [1, 2, 3];
const includesNum = arr.includes(2);
console.log(includesNum);
// 输出:true
8. some()
some() 方法可以检查数组中是否至少存在一个元素符合指定条件,例如:
const arr = [1, 2, 3];
const someNum = arr.some(num => num > 1);
console.log(someNum);
// 输出:true
9. every()
every() 方法可以检查数组中是否所有元素都符合指定条件,例如:
const arr = [1, 2, 3];
const everyNum = arr.every(num => num > 0);
console.log(everyNum);
// 输出:true
10. flat()
flat() 方法可以将嵌套数组展开为单层数组,例如:
const arr = [1, [2, 3], [4, [5]]];
const flatArr = arr.flat();
console.log(flatArr);
// 输出:[1, 2, 3, 4, 5]
好的,下面是 JavaScript ES6 最新的另外 10 个数组操作方法:
11. flatMap()
flatMap() 方法可以对数组中的每个元素进行映射并返回一个新数组,然后将所有新数组拼接成一个数组,例如:
const arr = [1, 2, 3];
const flatMappedArr = arr.flatMap(num => [num * 2]);
console.log(flatMappedArr);
// 输出:[2, 4, 6]
12. from()
from() 方法可以将类数组对象或可迭代对象转换成数组,例如:
const str = 'hello';
const arr = Array.from(str);
console.log(arr);
// 输出:['h', 'e', 'l', 'l', 'o']
13. of()
of() 方法可以根据给定的参数创建一个新的数组,例如:
const arr = Array.of(1, 2, 3);
console.log(arr);
// 输出:[1, 2, 3]
14. copyWithin()
copyWithin() 方法可以将数组中的一部分复制到另一部分,例如:
const arr = [1, 2, 3, 4, 5];
arr.copyWithin(0, 3);
console.log(arr);
// 输出:[4, 5, 3, 4, 5]
15. entries()
entries() 方法返回一个迭代器对象,该对象可以遍历数组中的索引/值对,例如:
const arr = [1, 2, 3];
const iterator = arr.entries();
for (const [index, value] of iterator) {
console.log(index, value);
}
// 输出:0 1 1 2 2 3
16. keys()
keys() 方法返回一个迭代器对象,该对象可以遍历数组中的索引,例如:
const arr = [1, 2, 3];
const iterator = arr.keys();
for (const index of iterator) {
console.log(index);
}
// 输出:0 1 2
17. values()
values() 方法返回一个迭代器对象,该对象可以遍历数组中的值,例如:
const arr = [1, 2, 3];
const iterator = arr.values();
for (const value of iterator) {
console.log(value);
}
// 输出:1 2 3
18. fill()
fill() 方法可以将数组中的所有元素替换为指定的值,例如:
const arr = [1, 2, 3];
arr.fill(0);
console.log(arr);
// 输出:[0, 0, 0]
19. reverse()
reverse() 方法可以将数组中的元素顺序翻转,例如:
const arr = [1, 2, 3];
arr.reverse();
console.log(arr);
// 输出:[3, 2, 1]
20. sort()
sort() 方法可以按照指定的规则对数组进行排序,例如:
const arr = [3, 1, 2];
arr.sort((a, b) => a - b);
console.log(arr);
// 输出:[1, 2, 3]
concat():连接两个或多个数组,并返回新的数组。copyWithin():从数组的指定位置开始替换元素。entries():返回一个数组迭代器对象,可以用于遍历数组的键值对。every():检测数组中的所有元素是否都满足指定条件。fill():使用静态值填充数组。filter():返回符合指定条件的所有数组元素的数组。find():返回符合指定条件的第一个数组元素。findIndex():返回符合指定条件的第一个数组元素的索引。flat():将嵌套的数组拉平为单层数组。flatMap():对数组的每个元素执行一次指定的函数,然后将结果压缩成一个新数组。forEach():对数组的每个元素执行一次指定的函数。from():从一个类似数组或可迭代对象中创建一个新的数组实例。includes():如果数组包含指定的元素,则返回 true,否则返回 false。indexOf():返回指定元素在数组中的位置。isArray():判断一个对象是否是数组。join():将所有数组元素连接成一个字符串。keys():返回一个数组迭代器对象,可以用于遍历数组的键。lastIndexOf():返回指定元素在数组中的最后一个位置。map():对数组的每个元素执行一次指定的函数,并返回一个新数组。pop():从数组的末尾删除一个元素,并返回该元素。push():向数组的末尾添加一个或多个元素,并返回数组的新长度。reduce():对数组的所有元素执行指定的归纳函数,返回一个归纳结果。reduceRight():对数组的所有元素执行指定的归纳函数,从右到左迭代,返回一个归纳结果。reverse():颠倒数组中元素的顺序。shift():从数组的开头删除一个元素,并返回该元素。slice():从数组中选择指定的元素。some():检测数组中是否存在符合指定条件的元素。sort():对数组进行排序。splice():删除或替换数组的指定元素,并在需要时插入新元素。toLocaleString():返回数组元素的本地化字符串表示。toSource():返回表示数组源代码的字符串。toString():将数组转换为字符串。unshift():向数组的开头添加一个或多个元素,并返回数组的新长度。values():返回一个数组迭代器对象,可以用于遍历数组的值。Symbol.iterator:返回一个数组迭代器对象,可以用于遍历数组。Symbol.unscopables:一个对象,它的属性名称指定了哪些属性不能被 with 语句绑定。Array.from():从一个类似数组或可迭代对象中创建一个新的数组实例,与from()方法类似,但是可以传递一个可选的映射函数。Array.of():创建一个包含任意数量参数的新数组实例,与new Array()类似,但是如果只传递一个参数,则创建的是只包含一个元素的数组。Array.isArray():判断一个对象是否是数组。Array.prototype[@@iterator]():返回一个数组迭代器对象,可以用于遍历数组。Array.prototype[@@unscopables]:一个对象,它的属性名称指定了哪些属性不能被 with 语句绑定。Array.prototype.concat():连接两个或多个数组,并返回新的数组。Array.prototype.copyWithin():从数组的指定位置开始替换元素。Array.prototype.entries():返回一个数组迭代器对象,可以用于遍历数组的键值对。Array.prototype.every():检测数组中的所有元素是否都满足指定条件。Array.prototype.fill():使用静态值填充数组。Array.prototype.filter():返回符合指定条件的所有数组元素的数组。Array.prototype.find():返回符合指定条件的第一个数组元素。Array.prototype.findIndex():返回符合指定条件的第一个数组元素的索引。Array.prototype.flat():将嵌套的数组拉平为单层数组,与全局方法flat()类似,但是可以传递一个可选的拉平深度参数。

浙公网安备 33010602011771号