判断某个数组中的对象的某个属性是否含有某个字段,并返回一个新的数组
时间: 2024-03-13 11:46:36 浏览: 99
假设你有一个对象数组,每个对象都有一个属性 `name`,你想筛选出所有 `name` 属性中包含特定字符串的对象,并将这些对象的 `name` 属性值组成一个新的数组,可以使用 `filter()` 方法结合 `map()` 方法来实现。
例如,假设你的对象数组如下:
```javascript
const arr = [
{ name: 'apple' },
{ name: 'banana' },
{ name: 'orange' },
{ name: 'pear' },
{ name: 'watermelon' }
];
```
如果你想筛选出所有 `name` 属性中包含字符串 `'e'` 的对象,并将这些对象的 `name` 属性值组成一个新的数组,可以这样写:
```javascript
const filteredNames = arr.filter(obj => obj.name.includes('e')).map(obj => obj.name);
console.log(filteredNames); // ['apple', 'orange', 'pear', 'watermelon']
```
这样就可以得到一个新的数组 `filteredNames`,其中包含了所有 `name` 属性中包含字符串 `'e'` 的对象的 `name` 属性值。如果没有符合条件的对象,`filteredNames` 将会是一个空数组。
阅读全文