gpt4 book ai didi

javascript - immutableJS - updateIn 方法无法按预期工作

转载 作者:行者123 更新时间:2023-12-03 03:24:17 28 4
gpt4 key购买 nike

我在不可变的js中有一个像这样的结构的 map :

myMap = {
a: {
b: {
c: [
{ d: "something1", ... },
{ d: "something2", ... }
],
...
},
...
},
...
}

然后我想更新ds的值。

我尝试过:

myMap.updateIn(["a", "b", "c"], (each) => {
each.set("d", "something else");
});

以及喜欢:

myMap.updateIn(["a", "b", "c"], (each) => {
each.map((e) => {
e.set("d", "something else");
});
});

但如您所知,这些不起作用。

如何更新ds的值?

最佳答案

我找到了上面的代码不起作用的原因。

首先,第二个代码部分正确,但第一个代码是错误的。

部分表示逻辑是正确的,但 ES6 的语法不正确。

所以,正确的代码是:

const updatedMyMap = myMap.updateIn(["a", "b", "c"], each => 
each.map(e => e.set("d", "something else"))
);

arrow function docs ,

(param1, param2, …, paramN) => { statements }

(param1, param2, …, paramN) => expression

// equivalent to: (param1, param2, …, paramN) => { return expression; }

这就是我的代码不起作用的原因。

我应该返回map()的结果。

关于javascript - immutableJS - updateIn 方法无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46416644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com