我有以下情况:
我有一个这样的变量数组:
[
{
id: "foo",
value: "bar"
},
{
id: "baz",
value: "buz"
}
]
我有一个如下的默认数组:
[
{
id: "foo",
value: "default"
},
{
id: "bar",
value: "default"
},
{
id: "baz",
value: "default"
}
]
我想比较这两个数组,并通过将缺少的默认值添加到第一个数组中来将它们混合在一起。
这是我想要的输出:
[
{
id: "foo",
value: "bar" // keep unchanged because it was already there
},
{
id: "bar",
value: "default" // use the default because it was not in there
},
{
id: "baz",
value: "buz" // also keep because it was already in the first array
}
]
什么是最好的方法来实现这一点?谢谢你的帮助!
2条答案
按热度按时间ui7jx7zq1#
解决这个问题的方法之一是从与第一个数组中具有相同
id
的条目中过滤出第二个数组,并将其加入一个对象数组。yftpprvb2#
嗯,直接使用dojo -lang. mixin是不可能的,因为mixin基本上处理json对象,而不是对象数组(在您的情况下)。
**解决方案-**我刚刚编写了一个JavaScript函数,它将返回合并后的数组。
希望这对你有帮助:)