【发布时间】:2021-02-04 19:54:45
【问题描述】:
我是 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 的任何帮助。
【问题讨论】:
-
除了更新名称,您还需要返回其他属性,如下所示
const updatedList = this.props.oldList.map((record) => ({...record, name: record.IsTrue === 1 ? `$({record.name} (Updated)` : record.name)}) -
那行不通
-
你遇到了什么错误?您可以分享示例输入吗?
-
该值从未更新,即使认为是True === 1
-
const updatedList = this.props.oldList.map((record) => {return {...record, name:record.IsTrue === 1 ?
${record.name} (Updated):record.name} })