现在有两个数组,
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","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));
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 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 userInfo = ["a","b","f","e","g"];
userInfo=(getuserInfo +userInfo+"").match(/(\b\w+(?:\w+)?\b)(?!.*,\1\b)/g);
alert(userInfo );
你这样我试了下,还有个小问题, 比如上面的数组:getuserInfo = ["a","b","c"] userInfo = ["d","e"]
这样得到的结果是userInfo = a ,b,cd,e
中间c和d连在一起了, c是第一个数组最后一个字串,d是第二个数组第一个字串,怎样改进这个正则表达式才可以避免啊?
userInfo=(getuserInfo.concat(userInfo)+"").match(/(\b\w+(?:\w+)?\b)(?!.*,\1\b)/g);