js 2个数组比较找出不相同的元素返回下标

kala197 2010-01-04 09:50:03

var qva= Ext.getCmp("queryvalue").getValue(); //原来的值 这个字符串也是";"分隔的
var cobovalue=namecombo.getRawValue(); //现在的值
var q=qva.split(";"); //原来的字符 分割
var c=cobovalue.split(";");//当前的字符 分割
var flag;
for(var i=0; i<c.length;i++){
var f= qva.indexOf(c[i]);
if(f==-1){
flag=i;
}
}
}

前提是 数组的元素的个数可能不一样 怎么找到 哪里改变了 我自己写了点 好像不对 大家指点下 谢谢!
...全文
1238 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
asharpnet 2010-01-05
  • 打赏
  • 举报
回复
不清楚lz的意图,比较这两个不同时干吗用的?先说清意图再想解决方法
浪尖赏花 2010-01-05
  • 打赏
  • 举报
回复
var qva= Ext.getCmp("queryvalue").getValue();  //原来的值  这个字符串也是";"分隔的
var cobovalue=namecombo.getRawValue(); //现在的值
var q=qva.split(";"); //原来的字符 分割
var c=cobovalue.split(";");//当前的字符 分割
var flag;
var maxlen = Math.max(q.length,c.length);
var minlen = Math.min(q.length,c.length);
for(var i=0; i<maxlen;i++){
if(minlen < i){
flag=i;
break;
}else{
if(q[i]!=c[i]){
flag=i;
break;
}
}
}
alert(flag);//这就是LZ想要的
sundotLei 2010-01-04
  • 打赏
  • 举报
回复

var arr1=["a","b","c"]; //你例子中的 q
var arr2=["a","f","g","c"];//你例子中的c
var arr3=[]; //临时数组
for(var s in arr1){
for(var x in arr2){
if(arr1[s]===arr2[x]){
arr3.push(arr1[s]);
}
}
}

alert("相同的元素有"+arr3)

相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-04 09:50
社区公告
暂无公告