<script type="text/javascript">
var ar = ["f1app.txt","fl","f2"]; for(var i=0;i<ar.length;i++){
for(var j=0;j<ar.length;j++){
                   
// if( ar[i].indexOf(ar[j]) ===0 && (ar[i].length <ar[j].length) ){
document.write("<strong>"+i+"</strong>"+ar[i] +"   length:" +ar[i].length +" " +"<strong>"+j+"</strong>"+ar[j] +"  length:" +ar[j].length  + "    "+ar[i].indexOf(ar[j])+"<br/>");
// }
}
}
           //测试代码
var str1 = ["f1app.txt"];var str2 = ["f1"];
alert(str1[0].indexOf(str2[0])===0)
</script>这段代码 ar[i].indexOf(ar[j]) ===0 不起作用呢 就好比是 "f1app.txt".indexOf("f1") 不起作用一样 可是 最后测试代码又返回的是true 各位高手能帮忙看一下吗 我其实想实现的功能是把 f1app.txt 和f1这两个 元素找出来就好了;

解决方案 »

  1.   

    (ar[i].length <ar[j].length)楼主这个判断写错了吧我估计是ar[i].length >ar[j].length
      

  2.   

    楼主你的数组的第二个元素写错了,是f1,不是fl
      

  3.   


     var ar = ["f1app.txt", "f1", "f2"];
            var len = ar.length;
            for (var i = 0; i < len; i++) {
                for (var j = 0; j < len; j++) {
                    //debugger;
                    if (ar[i].indexOf(ar[j]) == 0 && (ar[i].length > ar[j].length)) {
                        document.write(" <strong>" + i + " </strong>" + ar[i] + "  length:" + ar[i].length + " " + " <strong>" + j + " </strong>" + ar[j] + "  length:" + ar[j].length + "    " + ar[i].indexOf(ar[j]) + " <br/>");
                    }
                }
            }
            //测试代码
            //var str1 = ["f1app.txt"]; var str2 = ["f1"];
            //alert(str1[0].indexOf(str2[0]) === 0) 
      

  4.   

    我晕 真的是想杀人啊 居然写错了f1和fl  谢谢 LtnRain