我是 javascript 的新手,循环显示一个显示完整列表的列表,但是如果对象属性的属性设置为 true,我不想显示它。我无法弄清楚如果循环内部会发生什么,因为 pop
或 delete
不起作用。
for (const user of users) {
user.name = `${user.firstname}`;
if (user.disabled === true) {
/* not sure what to do here*/
}
}
最佳答案
您想filter和 map新对象(添加新属性 name
)。
但是您可以使用 .reduce
而不是遍历数组两次在同一次迭代中过滤和映射对象。
运行示例:
const users = [
{firstName: 'john', disabled: false},
{firstName: 'jane', disabled: true},
{firstName: 'moe', disabled: false},
{firstName: 'doe', disabled: true},
];
const nextUsers = users.reduce((result, current) => {
if(!current.disabled){
result.push({
...current,
name: current.firstName
});
}
return result;
},[]);
console.log(nextUsers);
关于javascript - 如果值为真,则从循环中移除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48511136/