js map 返回符合条件的值
时间: 2023-07-08 22:48:41 浏览: 54
你可以使用`Array.prototype.map()`方法返回符合条件的值。该方法会返回一个新的数组,其中包含原始数组中每个元素按照指定函数进行转换后的值。你可以在指定函数中使用条件语句来筛选出符合条件的值。例如:
```javascript
const arr = [1, 2, 3, 4, 5];
const filteredArr = arr.map((val) => {
if (val % 2 === 0) {
return val;
}
});
console.log(filteredArr); // [undefined, 2, undefined, 4, undefined]
```
在上面的例子中,我们筛选出原始数组中的偶数,并返回一个新的数组。注意,由于条件语句在某些情况下可能返回`undefined`,所以在新数组中可能会包含一些`undefined`值。
相关问题
js 改变数组中某些符合条件的值
可以使用数组的 `map()` 方法来改变数组中符合条件的值。例如,假设要将数组中所有大于 10 的值改为 0,可以这样写:
```javascript
const arr = [5, 15, 8, 20];
const newArr = arr.map(val => val > 10 ? 0 : val);
console.log(newArr); // [5, 0, 8, 0]
```
上述代码中,`map()` 方法遍历数组中的每个元素,如果元素大于 10,则返回 0,否则返回原来的值,最终返回一个新的数组 `newArr`。
数组方法返回符合条件元素的下标
在 JavaScript 中,可以使用数组的 `filter()` 方法来获取符合条件的元素,然后使用 `map()` 方法将每个元素转换为它的下标。下面是一个示例:
```javascript
const arr = [1, 2, 3, 4, 5];
const filteredIndexes = arr
.map((item, index) => ({ item, index })) // 将每个元素和它的下标映射成一个对象
.filter(({ item }) => item > 2) // 获取大于 2 的元素对象
.map(({ index }) => index); // 将符合条件的对象中的下标取出来
console.log(filteredIndexes); // [2, 3, 4]
```
在上面的例子中,我们首先使用 `map()` 方法将每个元素和它的下标映射成一个对象。然后使用 `filter()` 方法过滤出大于 2 的元素对象。最后使用 `map()` 方法将符合条件的对象中的下标取出来,得到了一个包含符合条件元素的下标的数组。
相关推荐
![js](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)