var testArray=[3,324,5345,6546,134,5654,665];
怎么返回某个数在这个数组中的位置

解决方案 »

  1.   


    var testArray=[3,324,5345,6546,134,5654,665]; 
    var num = 134;
    for (var i=0;i<testArry.length ;i++ )
    {
    //ret是放num在数组中的位置的数组.
    var ret = [];
    if (num == testArry[i])
    {
    ret.push(i);
    }
    }
      

  2.   

    没有别的办法,只能遍历,下面是chrome实现的方法:if(!Array.prototype.indexOf) {//由于除了ie外,其它浏览器已经实现此方法
    Array.prototype.indexOf=function(el,index) {
    if(index==null) {
    index=0;
    } else {
    index=index-0;
    if(index<0)
    index=0;
    }
    for(var i=index;i<this.length;i++) {
    var current=this[i];
    if(!(typeof(current)==='undefined') ||i in this) {
    if(current===el)
    return i;
    }
    }
    return -1;
    }
    }
    var arr=[1,3,5,2,6];
    alert(arr.indexOf(5));
    alert(arr.indexOf(5,3));
      

  3.   

    发个不用循环的
    <script>
    function getIndex(arr,v){
    var str = "0,"+arr.join(",")+",0";
    str = str.slice(0,str.indexOf(","+v+","));
    var index = str.split(",").length;
    if(index>arr.length){
    alert("数组中没有这个数!");
    }else{
    alert(v+"在数组中第"+index+"个数!");
    }
    }
    var testArray=[3,324,5345,6546,134,5654,665];
    getIndex(testArray,3);//1
    getIndex(testArray,665);//7
    getIndex(testArray,0);//没有
    </script>
      

  4.   

    我说具体一点吧var testArray=new Array();//建立数组
    var id = 1;//想要添加的数
    testArray.push(id);//添加到数组
    testArray.sort(function(a,b){return a-b;});//排序
    //排完后我想返回这个id在这个数组中的位置
    //我做的是循环把数添加到数组中,所以这个数组要保存我所添加的所有数字
      

  5.   

    var testArray=[3,324,5345,6546,134,5654,665]; 
        var num = 134;
        for (var i=0;i<testArry.length ;i++ )
        {
            //ret是放num在数组中的位置的数组.
            var ret = [];
            if (num == testArry[i])
            {
                ret.push(i);
            }
        }