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;
                 }              
               }
               }
前提是 数组的元素的个数可能不一样 怎么找到 哪里改变了  我自己写了点 好像不对 大家指点下 谢谢!

解决方案 »

  1.   


    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)
      

  2.   

    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想要的