gpt4 book ai didi

javascript - 不可变的js修改所有嵌套记录

转载 作者:行者123 更新时间:2023-11-27 23:10:52 25 4
gpt4 key购买 nike

我正在尝试修改 OrderedMap 的所有记录的“已完成”属性。这是有序映射:

const TodoItem = Record({text: '', completed: false});
let state = OrderedMap({'0': new TodoItem({text: 'First Item'})});

我当前的代码是:

state.forEach((v,k) => {
state = state.updateIn([k.toString(),'completed'], completed => true);
});
return state;

这可行,但是如何实现呢?

它是否有效,因为状态是不可变的,并且在第一次迭代之后 forEach 在第一个状态 obj(现在是匿名的)上运行?

还有其他“更好”的可能性来修改所有嵌套元素的属性吗?

最佳答案

是的,有 -

state = state.map((todoItem)=>todoItem.set("completed", true));

关于javascript - 不可变的js修改所有嵌套记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36196747/

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