我有数据:

var data = [
    {field1: 'a', field2: 'aa', field3: 1},
    {field1: 'b', field2: 'bb', field3: 2},
    {field1: 'c', field2: 'cc', field3: 3},
    {field1: 'd', field2: 'dd', field3: 4},
]


我正在尝试使用不变性帮助器https://github.com/kolodny/immutability-helper或React {...data, }构造来获得以下结果:我需要找到具有field2'cc'的行(一个或多个)并将其field3设置为5。我可以使用什么代码?

最佳答案

您可以为此使用纯JavaScript:

data.map(d => d.field2 === 'cc' ? ({...d, field3: 5}) : d);


解释发生了什么:这将创建一个新数组,其中每个元素都是原始数组中元素的投影。如果符合条件,则根据您的要求创建和修改对象的副本。如果不匹配,则将其原样放置在数组中。

10-04 22:35