js 实现两个数组(一个数组包含于另一个数组中)中不相同的元素组成第三个数组

js 实现两个数组(一个数组包含于另一个数组中)中不相同的元素组成第三个数组

问题描述:

用三重FOR循环实现,汗,一直加入的是重复的。。。

比如a= [1,2,3,4,5,6]
b = [2,4]
那么c应该为[1,3,5,6]

[code="js"]
var a = [1,2,3,4,5,6];
var b = [2,4];
var c = [];
function f(){
a.sort();
b.sort();
var i=0;
var j=0;
while(i<a.length&&j<b.length){
if(a[i]<b[j]){
c.push(a[i]);
i++;
}else if(b[j]<a[i]){
c.push(b[j]);
j++;
}else {
i++;
j++;
}
}
while(i<a.length){
c.push(a[i]);
i++;
}
while(j<b.length){
c.push(b[j]);
j++;
}
}
[/code]
这个函数可以实现你要的功能!

var a = ["0","1","2","4","6"];
var b = ["0","5"];
var c = new Array();
function slectArray(){
for(var i=0;i<a.length;i++){
if(b.indexOf(a[i])<0 ){
c.push(a[i]);
}
}
for(var i=0;i<b.length;i++){
if(a.indexOf(b[i])<0 ){
c.push(b[i]);
}
}
}