JavaScript 中的数组迭代方法

JavaScript 数组提供了许多处理数据的工具。你应该掌握这些方法以编写简洁的代码。

  • forEach() 为每个元素执行一个函数。 let nums = [10, 20, 30]; nums.forEach(num => console.log(num));

  • map() 通过转换每个元素来创建一个新数组。 let nums = [1, 2, 3]; let result = nums.map(num => num * 2); // [2, 4, 6]

  • flatMap() 映射每个元素,然后将结果扁平化。 let arr = [1, 2, 3]; let result = arr.flatMap(num => [num, num * 2]); // [1, 2, 2, 4, 3, 6]

  • filter() 创建一个包含通过测试的元素的新数组。 let nums = [10, 20, 30, 40]; let result = nums.filter(num => num > 20); // [30, 40]

  • reduce() 将所有元素合并为一个单一的值。 let nums = [10, 20, 30]; let result = nums.reduce((total, num) => total + num, 0); // 60

  • reduceRight() 作用类似于 reduce,但从数组末尾开始。 let arr = ["A", "B", "C"]; let result = arr.reduceRight((acc, value) => acc + value); // CBA

  • every() 如果所有元素都通过测试,则返回 true。 let nums = [10, 20, 30]; let result = nums.every(num => num > 5); // true

  • some() 如果至少有一个元素通过测试,则返回 true。 let nums = [10, 20, 30]; let result = nums.some(num => num > 25); // true

  • from() 从可迭代对象创建一个数组。 let result = Array.from("Hello"); // ['H', 'e', 'l', 'l', 'o']

  • keys() 返回一个包含数组键(索引)的迭代器。 let fruits = ["Apple", "Mango", "Orange"]; let result = fruits.keys(); // 0, 1, 2

  • entries() 返回一个包含键值对的迭代器。 let fruits = ["Apple", "Mango", "Orange"]; let result = fruits.entries(); // [0, 'Apple'], [1, 'Mango']...

  • with() 返回一个修改了其中一个元素的新数组。 let fruits = ["Apple", "Mango", "Orange"]; let result = fruits.with(1, "Grapes"); // ['Apple', 'Grapes', 'Orange']

  • Spread (...) 展开数组中的元素。 let arr1 = [1, 2]; let arr2 = [3, 4]; let result = [...arr1, ...arr2]; // [1, 2, 3, 4]

  • Rest (...) 将多个元素收集到一个数组中。 function showNumbers(...nums) { console.log(nums); } showNumbers(10, 20, 30); // [10, 20, 30]

来源:https://dev.to/ezhil_abinayak_e38eec8fb/array-iteration-methods-in-javascript-20mc