我有两个数组需要合并在一起,它们看起来像这样:
var array1 =
[
{x: "1/12/2011", y: 4149.9}
{x: "2/12/2011", y: 4094.5}
{x: "3/12/2011", y: 3606.8}
]
和
var array2 =
[
{x: "1/12/2011", z: 3500}
{x: "2/12/2011", z: 3600}
{x: "3/12/2011", z: 3700}
]
我想根据 x 合并它们,其中所有属性都保存在最终对象中。
预期输出:
var excpected =
[
{x: "1/12/2011", y: 4149.9, z: 3500}
{x: "2/12/2011", y: 4094.5, z: 3600}
{x: "3/12/2011", y: 3606.8, z: 3700}
]
我找到了 $.extend 和 $.merge,但未能成功实现我的需求。有什么指点吗?
最佳答案
虽然其余的答案几乎都是正确的,但他们错过了匹配 x
var array1 = [{
x: "1/12/2011",
y: 4149.9
}, {
x: "2/12/2011",
y: 4094.5
}, {
x: "3/12/2011",
y: 3606.8
}]
var array2 = [{
x: "1/12/2011",
z: 3500
}, {
x: "2/12/2011",
z: 3600
}, {
x: "3/12/2011",
z: 3700
}]
var excpected = array1.map(item => {
var fromArray2 = array2.filter(array2Item => array2Item.x === item.x)[0];
item.z = fromArray2.z;
return item;
})
console.log(excpected);
关于javascript - 如何对jquery数组进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47713191/