首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

判断两个数组是否有相同的值,将不是相同的值保存上来

2013-02-17 
【求助】判断两个数组是否有相同的值,将不是相同的值保存下来现在有两个数组,var getuserInfo [a,b,c

【求助】判断两个数组是否有相同的值,将不是相同的值保存下来
现在有两个数组,

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];
   }


 }
 for(var j =0 ;j<userInfo.length;j++)
{
    for(var index =0;index<userInfo[j].length;index++ )
    if(testInfo[userInfo[j][index]])
    {
         testInfo[userInfo[j][index]] =null;
     }
    else
    {
         testInfo[userInfo[j][index]] = userInfo[j][index];
     }
}
console.log(testInfo.join(","));


[解决办法]
var getuserInfo = ["a","b","c",["e","f"]];
var userInfo = ["a","b","f","e","g"];
userInfo=(getuserInfo +userInfo+"").match(/(\b\w+(?:\w+)?\b)(?!.*,\1\b)/g);
alert(userInfo );

热点排行
Bad Request.