需求:想要实现判断以下两个数组是否相同,进行想要实现的操作
var data1 = [
{id:1,Name:'11'},
{id:2,Name:'22'},
{id:3,Name:'33'},
{id:4,Name:'44'}
]
var data2 = [
{id:1,Name:'11'},
{id:2,Name:'22'},
{id:3,Name:'33'},
{id:4,Name:'44zz'}
]
实现方法一:
//仅判断数组里的id是否相同时
var flag = true;
for(var i =0;i<data1.length;i++){
if(data1[i].id === data2[i].id){
}else{
flag = false;
}
}
if(flag == false){
console.log('false')
}else{
console.log('true')
}
实现方法二:
//判断两个数组里的每个属性都想同
var flag = true;
for(var i in data1){
for(var a in data1[i]){
if(data1[i][a] == data2[i][a]){//判断数组中的每个属性
}else{
flag = false;//如果有一个不同就会等于false
}
}
}
if(flag == false){//如果等于false进行的操作
console.log('false')
}else{//如果等于false(也就是全部等于true的时候)进行的操作
console.log('true')
}
var data1 = ['11','22','33']
var data2 = [
{id:1,Name:'11'},
{id:2,Name:'22'},
{id:3,Name:'33'},
{id:4,Name:'44zz'}
]
需求:实现两个数组的对比,如果data2是否有data1的Name值,如果不存在则返回,将不存在的值push到新的数组里
var data = [];
data2.forEach(function (item) {
var ass = data1 .indexOf(item.Name);//用index判断如果存在则返回1,如果不存在则返回-1
if (ass < 0) {
data .push(item);
}
});