如何合并 2 javaScript 数组?
How to merge 2 javaScript Array?
我有 2 个数组。
我想将第二个数组的字段值与第一个数组合并。
每个值(即 "Test")都属于第二个数组 (_embedded.profileField.id) 的 _embedded 部分中列出的配置文件字段 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
我怎样才能得到一个包含两个信息的数组?
您好只需使用 Jquery 看下面的代码!
对于数组:
var newArray = $.merge(1Array, 2Array);
对于对象:
var object = $.extend({}, object1, object2);
对于数组:jquery merge array
对于对象:jquery merge object
谢谢
使用 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
我有 2 个数组。
我想将第二个数组的字段值与第一个数组合并。
每个值(即 "Test")都属于第二个数组 (_embedded.profileField.id) 的 _embedded 部分中列出的配置文件字段 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
我怎样才能得到一个包含两个信息的数组?
您好只需使用 Jquery 看下面的代码!
对于数组:
var newArray = $.merge(1Array, 2Array);
对于对象:
var object = $.extend({}, object1, object2);
对于数组:jquery merge array
对于对象:jquery merge object
谢谢
使用 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