Javascript 使用lodash替换具有相同id的阵列中对象
我是新来的泥鳅,需要帮助 我有两个目标:Javascript 使用lodash替换具有相同id的阵列中对象,javascript,arrays,object,lodash,Javascript,Arrays,Object,Lodash,我是新来的泥鳅,需要帮助 我有两个目标: { "data": [ { "RHID": "2", "NOME": "Leonor", }, { "RHID": "3", "NOME": "José", } ] } 及 如果内部对象不同,如何用相同的RHID替换它们。保留第二个。 我使用 Form.myData[Form.arrData] = _.map(
{
"data": [
{
"RHID": "2",
"NOME": "Leonor",
},
{
"RHID": "3",
"NOME": "José",
}
]
}
及
如果内部对象不同,如何用相同的RHID替换它们。保留第二个。
我使用
Form.myData[Form.arrData] = _.map(
_.uniq(
_.map(Form.myData[Form.arrData], function (obj) {
return JSON.stringify(obj);
})
), function (obj) {
return JSON.parse(obj);
}
);
如果不同,我想替换。
非常感谢。通过合并oposite的方式解决
$.merge( newData[Form.arrData],Form.myData[Form.arrData]);
而不是
$.merge( Form.myData[Form.arrData],newData[Form.arrData]);
Form.myData[Form.arrData] = _.map(
_.uniq(
_.map(Form.myData[Form.arrData], function (obj) {
return JSON.stringify(obj);
})
), function (obj) {
return JSON.parse(obj);
}
);
然后
Form.myData[Form.arrData] = _.map(
_.uniq(
_.map( newData[Form.arrData], function (obj) {
return JSON.stringify(obj);
})
), function (obj) {
return JSON.parse(obj);
}
);
而不是
$.merge( Form.myData[Form.arrData],newData[Form.arrData]);
Form.myData[Form.arrData] = _.map(
_.uniq(
_.map(Form.myData[Form.arrData], function (obj) {
return JSON.stringify(obj);
})
), function (obj) {
return JSON.parse(obj);
}
);
你能重新表述“如果内部对象不同,我如何用相同的RHID替换它们。保留第二个。”因为这没有意义;)对不起,我的英语不好。假设我有两个对象数组。我想替换第一个数组中与第二个对象数组的rhid匹配的条目。或者,如果它们与我们看到的不同,则进行替换。不同时在集合中的更新操作和替换类型。