>[danger]Js中map和filter的作用 | 方法 | 作用 | | ------ | ------------------------------------------------------------ | | map() | 将数组中的每个元素通过提供的函数进行转换,并返回一个新数组,新数组中的元素为转换后的值。 | | filter() | 根据提供的条件函数对数组进行筛选,返回一个新数组,新数组中的元素是满足条件的元素。 | >[info]下面是对`map()`和`filter()`方法的详细说明: ### `map()` `map()`方法在 JavaScript 中用于对数组中的每个元素执行相同的操作,然后返回一个新数组,新数组中的元素是原始数组经过转换后的值。 语法:`array.map(function(currentValue, index, array), thisValue)` - `currentValue`:当前正在处理的元素。 - `index`:当前元素在数组中的索引。 - `array`:原始数组。 - `thisValue`(可选):可在函数中使用的对象。 示例代码: ```javascript const numbers = [1, 2, 3, 4, 5]; const doubledNumbers = numbers.map((num) => num * 2); // [2, 4, 6, 8, 10] ``` 上述代码中,`map()`方法将数组 `numbers` 中的每个元素都乘以 2,并将结果存储在新数组 `doubledNumbers` 中。 ### `filter()` `filter()`方法在 JavaScript 中用于根据提供的条件函数从数组中筛选元素,然后返回一个新数组,新数组中只包含满足条件的元素。 语法:`array.filter(function(currentValue, index, array), thisValue)` - `currentValue`:当前正在处理的元素。 - `index`:当前元素在数组中的索引。 - `array`:原始数组。 - `thisValue`(可选):可在函数中使用的对象。 示例代码: ```javascript const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter((num) => num % 2 === 0); // [2, 4] ``` 上述代码中,`filter()`方法将数组 `numbers` 中的每个元素都传递给条件函数,并且只有满足条件(偶数)的元素才会保留在新数组 `evenNumbers` 中。 总结: `map()`方法用于对数组中的每个元素进行转换并返回一个新数组,而`filter()`方法用于根据条件筛选数组中的元素并返回一个新数组。这两个方法都能够提供便利且高效的方式来处理和操作数组数据。