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]
  1. concat():连接两个或多个数组,并返回新的数组。
  2. copyWithin():从数组的指定位置开始替换元素。
  3. entries():返回一个数组迭代器对象,可以用于遍历数组的键值对。
  4. every():检测数组中的所有元素是否都满足指定条件。
  5. fill():使用静态值填充数组。
  6. filter():返回符合指定条件的所有数组元素的数组。
  7. find():返回符合指定条件的第一个数组元素。
  8. findIndex():返回符合指定条件的第一个数组元素的索引。
  9. flat():将嵌套的数组拉平为单层数组。
  10. flatMap():对数组的每个元素执行一次指定的函数,然后将结果压缩成一个新数组。
  11. forEach():对数组的每个元素执行一次指定的函数。
  12. from():从一个类似数组或可迭代对象中创建一个新的数组实例。
  13. includes():如果数组包含指定的元素,则返回 true,否则返回 false。
  14. indexOf():返回指定元素在数组中的位置。
  15. isArray():判断一个对象是否是数组。
  16. join():将所有数组元素连接成一个字符串。
  17. keys():返回一个数组迭代器对象,可以用于遍历数组的键。
  18. lastIndexOf():返回指定元素在数组中的最后一个位置。
  19. map():对数组的每个元素执行一次指定的函数,并返回一个新数组。
  20. pop():从数组的末尾删除一个元素,并返回该元素。
  21. push():向数组的末尾添加一个或多个元素,并返回数组的新长度。
  22. reduce():对数组的所有元素执行指定的归纳函数,返回一个归纳结果。
  23. reduceRight():对数组的所有元素执行指定的归纳函数,从右到左迭代,返回一个归纳结果。
  24. reverse():颠倒数组中元素的顺序。
  25. shift():从数组的开头删除一个元素,并返回该元素。
  26. slice():从数组中选择指定的元素。
  27. some():检测数组中是否存在符合指定条件的元素。
  28. sort():对数组进行排序。
  29. splice():删除或替换数组的指定元素,并在需要时插入新元素。
  30. toLocaleString():返回数组元素的本地化字符串表示。
  31. toSource():返回表示数组源代码的字符串。
  32. toString():将数组转换为字符串。
  33. unshift():向数组的开头添加一个或多个元素,并返回数组的新长度。
  34. values():返回一个数组迭代器对象,可以用于遍历数组的值。
  35. Symbol.iterator:返回一个数组迭代器对象,可以用于遍历数组。
  36. Symbol.unscopables:一个对象,它的属性名称指定了哪些属性不能被 with 语句绑定。
  37. Array.from():从一个类似数组或可迭代对象中创建一个新的数组实例,与 from() 方法类似,但是可以传递一个可选的映射函数。
  38. Array.of():创建一个包含任意数量参数的新数组实例,与 new Array() 类似,但是如果只传递一个参数,则创建的是只包含一个元素的数组。
  39. Array.isArray():判断一个对象是否是数组。
  40. Array.prototype[@@iterator]():返回一个数组迭代器对象,可以用于遍历数组。
  41. Array.prototype[@@unscopables]:一个对象,它的属性名称指定了哪些属性不能被 with 语句绑定。
  42. Array.prototype.concat():连接两个或多个数组,并返回新的数组。
  43. Array.prototype.copyWithin():从数组的指定位置开始替换元素。
  44. Array.prototype.entries():返回一个数组迭代器对象,可以用于遍历数组的键值对。
  45. Array.prototype.every():检测数组中的所有元素是否都满足指定条件。
  46. Array.prototype.fill():使用静态值填充数组。
  47. Array.prototype.filter():返回符合指定条件的所有数组元素的数组。
  48. Array.prototype.find():返回符合指定条件的第一个数组元素。
  49. Array.prototype.findIndex():返回符合指定条件的第一个数组元素的索引。
  50. Array.prototype.flat():将嵌套的数组拉平为单层数组,与全局方法 flat() 类似,但是可以传递一个可选的拉平深度参数。
posted @ 2023-05-06 15:54  还笑的年轻人  阅读(210)  评论(0)    收藏  举报