gpt4 book ai didi

node.js - 不可变JS : Upating an object inside an array of arrays

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:26 25 4
gpt4 key购买 nike

我的状态有点复杂,如下:

array:
array:
object,
object,
etc...
array:
etc...

简单来说,一个数组包含多个保存对象的数组。我试图根据其 Id 在这个困惑中找到其中一个对象并更新它(即将完成的值设置为 true),但到目前为止还无法做到。使用 Mudash,我设法找到了这个对象,但我不知道如何再次传递它来返回它,我的代码如下:

  return state.update('data', (arr) => {
_.forEach(arr, function(item) {
_.forEach(item, function(elt) {
if(elt.Id == action.Id) {
console.log('Item Found');
elt.set('completed', true);
}

});
});
return arr;
});

有没有一些简单的方法可以实现这一点?谢谢。

最佳答案

这里的关键是你不能就地改变值。相反,您需要通过思考如何更改深度嵌套数据结构中的每个父值来解决问题。

简单地使用 _.map 方法就可以解决问题......

const _ = require('mudash')

return _.update(state, 'data', (arr) => {
return _.map(arr, function(item) {
return _.map(item, function(elt) {
if(_.get(elt, 'Id') == action.Id) {
console.log('Item Found');
return _.set(elt, 'completed', true);
}
return elt;
});
});
});

关于node.js - 不可变JS : Upating an object inside an array of arrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42204751/

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