比较两个数组时如何更改数组中的值
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);
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);