日期:2014-05-16  浏览次数:20354 次

【求助】判断两个数组是否有相同的值,将不是相同的值保存下来
现在有两个数组,
var getuserInfo = ["a","b","c"];
var userInfo = ["a","f","e","g"];
var index = 0;
for(var s in getuserInfo){
for(var x in userInfo){
if(getuserInfo[ 2 * s]!=userInfo[2 * x]){
userInfo[index++] = getuserInfo[2 * s];
userInfo[index++] = getuserInfo[2 * s + 1];
}
}
  }

现在可以判断出第一个不相同的值,比如说:getuserInfo 中有 'b' ,userInfo中没有,那么getuserInfo将' b'赋给userInfo后这个循环就结束了,有什么办法可以让它一直循环下去,直到将getuserInfo中所有与userInfo不相同的值赋给userInfo为止呢? 在线等,800里加急
javascript

------解决方案--------------------

var getuserInfo = ["a","b","c"];
var userInfo = ["a","b","f","e","g"];
var flag ;
for(var i = 0 ; i < getuserInfo.length ; ){
flag = false;
for(var j = 0 ; j < userInfo.length ;  ){
if(userInfo[j]==getuserInfo[i]){
userInfo.splice(j , 1);
getuserInfo.splice(i , 1);
flag = true;
}else{
++j;
}
}
if(!flag)
++i;
}
console.log(getuserInfo.concat(userInfo));

------解决方案--------------------
引用:
引用:JavaScript code?123456789101112131415161718var getuserInfo = ["a","b","c"];var userInfo = ["a","b","f","e","g"];var flag ;for(var i = 0 ; i < getuserInfo.length ; ){  ……

借花献佛

var getuserInfo = ["a","b","c",["e","f"]];
var userInfo = ["a","b","f","e","g"];
var testInfo = [];
var flag ;
for(var i = 0 ; i < getuserInfo.length ;i++ ){
   for(var count =0;count<getuserInfo[i].length;count++) 
   { 
       testInfo[getuserInfo[i][count]]= getuserInfo[i][count];
   }
 }
 for(var j =0 ;j<userInfo.length;j++)
{
    if(testInfo[userInfo[j]])
    {
         testInfo[userInfo[j]] =null;
     }
    else
    {
         testInfo[userInfo[j]] = userInfo[j];
     }
}
console.log(testInfo.join(","));


------解决方案--------------------
第二个忘变量二维数组了

var getuserInfo = ["a","b","c",["e","f"]];
var userInfo = ["a","b","f","e","g"];
var testInfo = [];

for(var i = 0 ; i < getuserInfo.length ;i++ ){
   for(var count =0;count<getuserInfo[i].length;count++) 
   { 
       testInfo[getuserInfo[i][count]]= getuserInfo[i][count];
   }