如何合并2个javaScript数组?

如何合并2个javaScript数组?,javascript,arrays,array-merge,Javascript,Arrays,Array Merge,我有两个数组 我想将第二个数组中的字段值与第一个数组合并 每个值(即“Test”)都属于第二个数组的_嵌入部分(_embedded.profileField.id)中列出的配置文件字段id 第一个数组:配置文件字段 第二个数组:配置文件字段值 如何将这两种信息结合在一起得到一个数组?Hi只需使用Jquery即可查看下面的代码 对于阵列: var newArray = $.merge(1Array, 2Array); 对于对象: var object = $.extend({}, object1

我有两个数组

我想将第二个数组中的字段值与第一个数组合并

每个值(即“Test”)都属于第二个数组的_嵌入部分(_embedded.profileField.id)中列出的配置文件字段id

第一个数组:配置文件字段 第二个数组:配置文件字段值
如何将这两种信息结合在一起得到一个数组?

Hi只需使用Jquery即可查看下面的代码

对于阵列:

var newArray = $.merge(1Array, 2Array);
对于对象:

var object = $.extend({}, object1, object2);
对于阵列:

对于对象:


谢谢

使用U中的
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

你试过写一些代码吗?你试过搜索吗?你有一些原始的示例数据吗?$.merge是jquery臃肿的数组。concat-
$。merge(Array1,Array2)
Array1=Array1多不了多少。concat(Array2)
以1/10的速度和10倍的内存完成。如果您认为这不是您的解决方案,请让我删除该答案。谢谢您的示例。我还可以显示没有关联值的空字段吗?是的,你可以在第一个(
a
在我的示例中)数组上迭代。更新了显示空字段的示例,如果你想了解
map
filter
请尝试Jafar Husain的练习-
/* 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