我正在遍历一个对象数组:
people = [
{id:1, name:"Bob", available:false},
{id:2, name:"Sally", available:true},
{id:1, name:"Trish", available:false},
]
Run Code Online (Sandbox Code Playgroud)
我希望我的输出是可用的名称:
["Sally"]
Run Code Online (Sandbox Code Playgroud)
我目前知道如何映射和提取字段。如何添加条件?
const peopleAvailable = people.map(person => person.value);
Run Code Online (Sandbox Code Playgroud)
想做这样的事情:
const peopleAvailable = people.map(person.available => person.value);
Run Code Online (Sandbox Code Playgroud)
Dac*_*nny 13
您不能单独使用该函数进行条件映射.map(),但是您可以使用该函数.filter()来实现您的需求。
调用过滤器将返回一个新数组,其中新数组中的每个项目都满足您的过滤条件(即people.available === true)。
对于您的代码,您可以直接将过滤器与现有调用链接起来.map()以获得所需的结果:
const people = [{
id: 1,
name: "Bob",
available: false
},
{
id: 2,
name: "Sally",
available: true
},
{
id: 1,
name: "Trish",
available: false
},
];
const peopleAvailable = people
.filter(people => people.available) /* filter available people */
.map(person => person.name) /* map each person to name */
console.log(peopleAvailable);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17553 次 |
| 最近记录: |