比较两个数组时如何更改数组中的值

How to change values in an array when comparing two arrays

var array1 = [ {"name":"sam","surname":"sameera","location":"mumbai","age":"22"}];
var array2 =[ {"name":"SAM","surname":"SAMEERA"}];

我希望输出是这样的:

[{"name":"SAM","surname":"SAMEERA","location":"mumbai","age":"22"}];

使用 javascript 和下划线

我的尝试如下:

var workingValues = _.filter(array1, function(item){ return item});
console.log(workingValues); 
var validItems = []; 

for(var i =0 ; i < array2.length; i++){ 
  var item = array2[i]; 
  console.log(item); 

  var findItems = _.filter(array1,function(ite) {
    return ite.name.toUpperCase() == item.name.toUpperCase() && ite.surname.toUpperCase() == item.surname.toUpperCase()}); 
  validItems.push(item); 
  console.log(findItems); 
}

基于您提供的有限数据。

var array1 = [ {"name":"sam","surname":"sameera","location":"mumbai","age":"22"}];
var array2 =[ {"name":"SAM","surname":"sameera"}];
console.log( _.extend(array2, array1))
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>

var array1 = [{
    "name":"sam",
    "surname":"sameera",
    "location":"mumbai",
    "age":"22"
}];
var array2 =[{
    "name":"SAM",
    "surname":"sameera"
}];
var mergearray= array1 .concat(array2);

var array1 = [ {"name":"sam","surname":"sameera","location":"mumbai","age":"22"}];
var array2 =[ {"name":"SAM","surname":"SAMEERA"}];

var result = [{...array1[0],...array2[0]}];
console.log(result);

你可以试试这个

var array1 = [ {"name":"sam","surname":"sameera","location":"mumbai","age":"22"},{"name":"sam123","surname":"sameera123","location":"mumbai","age":"22"} ];
var array2 =[ {"name":"SAM","surname":"SAMEERA"},{"name":"SAM123","surname":"SAMEERA123"}];

var ret = [];

for(var i = 0; i < array1.length; i += 1) {
  var newArray = array2.filter(function (el) {
      return el.name.toUpperCase() == array1[i].name.toUpperCase() &&                                                  el.surname.toUpperCase() ==array1[i].surname.toUpperCase();
  });
  if(newArray.length ==0)
  {
     ret.push(array1[i]);    
  }
  else
  {
     array1[i].name = newArray[0].name; //change valuse
     array1[i].surname = newArray[0].surname; //change valuse
     ret.push(array1[i]);
  }
};
   

console.log(ret);