我有2个阵列。
我想将第二个数组的字段值与第一个数组合并。
每个值(即“Test”)都属于2nd Array(_embedded.profileField.id)的_embedded部分中列出的Profile Field id。
0: Object
field: "FieldLabel1"
id: 1
1: Object
field: "FieldLabel2"
id: 7
2: Object
field: "FieldLabel3"
id: 12
0: Object
id: 1
value: "Test"
_embedded: Object
profileField: Object
field: "FieldLabel1"
id: 1
1: Object
id: 2
value: "links"
_embedded: Object
profileField: Object
field: "FieldLabel2"
id: 7
如何将两个信息放在一起?
答案 0 :(得分:0)
使用Array methods中的map
和filter
可以将此数组与您需要的条件合并。请参阅以下示例:
/* your arrays definition */
var a = [{
field: "FieldLabel1",
id: 1
}, {
field: "FieldLabel2",
id: 7
}, {
field: "FieldLabel3",
id: 12
}
];
var b = [{
id: 1,
value: "Test",
_embedded: {
profileField: {
field: "FieldLabel1",
id: 1
}
}
}, {
id: 2,
value: "links",
_embedded: {
profileField: {
field: "FieldLabel2",
id: 7
}
}
}];
/* mergedArray contains merged data from two arrays arranged by id */
var mergedArray = a.map(function(aItem){
var value = b.filter(function(bItem) {
return aItem.id === bItem._embedded.profileField.id;
}).map(function(item){
return item.value;
}).pop();
aItem.value = value;
return aItem;
});
结果是:
margedArray: Array[3]
0: Object
field: "FieldLabel1"
id: 1
value: "Test"
1: Object
field: "FieldLabel2"
id: 7
value: "links"
2: Object
field: "FieldLabel3"
id: 12
value: undefined
答案 1 :(得分:-1)
您好,只需使用Jquery,请参阅下面的代码!
For Array:
var newArray = $.merge(1Array, 2Array);
对象:
var object = $.extend({}, object1, object2);
对于数组:jquery merge array
由于