【发布时间】:2023-03-23 20:32:01
【问题描述】:
我很难从 javascript 中合并两个对象,我使用下划线并尝试了很多尝试,谷歌搜索但我无法实现我的目标,请参阅下面的两个对象:
// Obj A
[{
"activite":"Danser le rock",
"categorie":"Activités physiques",
"selected":true
},
{
"activite":"Danses latino",
"categorie":"Activités physiques",
"selected":true
}]
// Obj B
[{
"activite":"Danser le rock",
"categorie":"Activités physiques",
},
{
"activite":"Danses latino",
"categorie":"Activités physiques",
},
{
"categorie":"Activités physiques",
"activite":"Danses latino"
}]
这是一次尝试
function updateCentres(obj1, obj2) {
for (var p in obj2) {
if (obj1[p]) {
_.extend(obj1[p], obj2[p]);
} else {
obj1[p] = obj2[p];
}
}
}
updateCentres(objA, objB) //<== outputs undefined
在这里我必须从 objA 更新 objB,事实上我想将 selected:true 注入到对应的部分,有人可以帮助我吗? 谢谢。
【问题讨论】:
-
这里的“合并”到底是什么意思?你有两个数组。你想连接数组吗?还有什么?
-
objB = objA也许? -
数组的条目是否总是以相同的顺序排列? (也就是说,Obj A 首先有“Danser le rock”,Obj B 也是如此;这可靠吗?)
-
@T.J.Crowder,A和B顺序不一样
-
@HyyanAboFakher - 不要这么认为,这是更新对象数组,通过属性关联它们,而不是更新非数组对象。
标签: javascript merge underscore.js