我是reactjs和lodash的新手。我有一个对象数组,每个对象都有许多字段属性。如果布尔属性为真,我想更改名称字符串值。我看了这里的一些帖子,好像。map会循环遍历数组
const updatedList = this.props.oldList.map((record) => record.IsTrue === 1 ? `$({record.name} (Updated)` : record.name)
我运行了测试,它根本不起作用。我没有返回包含所有属性的对象列表,而是得到如下
0: "Test1 (Updated)"
1: "Test2"
没有具有字段名和值的对象。
[
{name: "Test1 (Updated)", IsTrue: 1},
{name: "Test1", IsTrue: 0}
]
对lodash的任何帮助都很感激。
您可以使用扩展语法返回其他键和值,并更新isTrue
为1的名称值。
const input = [{ name: "Test1", IsTrue: 1 }, { name: "Test1", IsTrue: 0 }],
output = input.map((record) => ({
...record,
name: record.IsTrue === 1 ? `${record.name} (Updated)` : record.name
}));
console.log(output);