我有两个javascript数组对象,如下面的
第一个阵列:
count_array[0].left= 0;
count_array[0].width= 33;
count_array[0].id= 1;
count_array[1].left= "";
count_array[1].width= "";
count_array[1].id= 2;
count_array[2].left= "";
count_array[2].width= "";
count_array[2].id= 3;
第二阵列:
temp_array[0].left= "";
temp_array[0].width= "";
temp_array[0].id= 4;
temp_array[1].left= "";
temp_array[1].width= "";
temp_array[1].id= 5;
temp_array[2].left= 0;
temp_array[2].width= 33;
temp_array[2].id= 1;
我想从上面的两个数组中获取javascript中唯一id值的数组,如下所示
第三阵列:
temp_array_cnt[0].left= 0;
temp_array_cnt[0].width= 33;
temp_array_cnt[0].id= 1;
我正在使用下面的代码,但它无效
function intersection(x,y){
x.sort();y.sort();
var i=j=0;ret=[];
while(i<x.length && j<y.length){
if(x[i]<y[j])i++;
else if(y[j]<x[i])j++;
else {
ret.push(x[i]);
i++,j++;
}
}
return ret;
}
请在这里帮助我。 感谢
我现在正在使用以下功能
function intersection(x,y){
ret=[];
//x.sort();y.sort();
for(var i=0;i<x.length;i++)
{
for(var j=0;j<y.length;i++)
{
//console.log(x[i].eventid);
var chk_left=x[i];
if(chk_left.id == chk_left.id)
{
ret.push(chk_left);
}
}
}
return ret;
}
但它给了我这样的错误“id为null或不是对象”。
答案 0 :(得分:0)
var temp = 0;
for(var i=0;i<count_array.length;i++)
{
for(var j=0;j<temp_array.length;i++)
{
if(count_array[i].id == temp_array[j].id)
{
temp_array_cnt[temp].left= count_array[i].left;
temp_array_cnt[temp].width= count_array[i].width;
temp_array_cnt[temp].id= count_array[i].id;
temp++;
}
}
}