js某一元素在数组中的索引

第一种:数组遍历javascript

1 function search(arr,dst){ 2     var i = arr.length; 3     while(i-=1){ 4         if (arr[i] == dst){ 5            return i; 6  } 7  } 8     return false; 9 }

使用方法:html

var a=[1,2,3,4];
search(a,3);//返回2

第二种:indexOf()java

var arr=[1,2,3,4]
arr.indexOf(2);//返回1

在某些IE版本中,不支持indexOf(),就须要先判断Array是否有indexOf()方法数组

 1 var arr=[1,2,3,4]  2 if (!Array.indexOf){  3     Array.prototype.indexOf=function(obj){  4     var i=this.length;  5         while(i-=1){  6             if(this[i]==obj){  7                 return i;  8  }  9         }return -1; 10  } 11 } 12 arr.indexOf(3);//返回2

3、构造函数函数

原理就是方法二中兼容IE所采用的方法同样,构造一个新的函数this

 1 Array.prototype.weizhi=function(obj){  2   var i=this.length;  3   for(i;i!=0;i-=1){  4     if(this[i]===obj){  5       return i;  6  }  7   }return false;  8 }  9 var arr=[1,2,3,4] 10 arr.wenzi(3);//返回2

第四种:一个数组 ,分别在另外一个数组中的位置(也能够用来检索一个元素 ,视需求所改变)url

 1 <script  type="text/javascript">
 2     var array=['a','b','c','d','c'];//总数组  3     var val = ['a','d']//要检索的数组  4     var inde=[];//获取的下标数组  5     for(var i=0;i<array.length;i++){  6         for(var x in val){  7             if(array[i]==val[x]){  8  inde.push(i)  9  } 10  } 11  } 12  console.log(inde) 13 </script>

 

 

原文地址:https://www.cnblogs.com/newgold/p/4877354.htmlspa

相关文章
相关标签/搜索