var arr1 = ["i", "b", "c", "d", "e", "f","x"]; //数组A var arr2 = ["a", "b", "c", "d", "e", "f", "g"];//数组B var temp = []; //临时数组1 var temparray = [];//临时数组2 for (var i = 0; i < arr2.length; i++) {
temp[arr2[i]] = true;//巧妙地方:把数组B的值当成临时数组1的键并赋值为真
}
for (var i = 0; i < arr1.length; i++) {
if (!temp[arr1[i]]) {
//巧妙地方:同时把数组A的值当成临时数组1的键并判断是否为真,如果不为真说明没重复,就合并到一个新数组里,这样就可以得到一个全新并无重复的数组
temparray.push(arr1[i]);
}
}
document.write(temparray.join(",") + "");
得到两个数组中的相同值
var arr1=["a","b","c"];
var arr2=["a","f","g","c"];
var arr3=[];
for(var s in arr1){
for(var x in arr2){
if(arr1[s]==arr2[x]){
arr3.push(arr1[s]);
}
}
}
alert("相同的元素有"+arr3);
比较两个数中的不同值
var arr=[];
var a1 = [1, 2, 5, 8];
var a2 = [3, 1, 9, 5];
Array.ExistsSameValues = function(a1, a2) {var exists = false;
if(a1 instanceofArray && a2 instanceofArray){
for (var i=0,iLen=a1.length; i<iLen; i++){
for (var j=0,jLen=a2.length; j<jLen; j++){
if (a1[i]==a2[j]){
arr.push(a2[i]);
}
}
}
}
return exists;
};
Array.ExistsSameValues(a1,a2)
console.log(arr);