找到数组中某项索引位置的3种方法
来源:互联网 发布:csgo mac 国服 知乎 编辑:程序博客网 时间:2024/06/14 08:47
方法1:
Array.prototype.weizhi=function(obj){ var i=this.length; for(i;i!=0;i=i-1){ if(this[i] ===obj ){ return i; } } return false;}var arr=[1,2,3,4];log("3="+arr.weizhi(3));//返回2
方法二:
var arr=[1,2,3,4];if(!Array.indexOf){//判断是不是有indexOf方法 Array.prototype.indexOf = function(obj){ var i=this.length; //while(i = i-1){//(i -= 1)只要i>0 ,正常执行 ,0和负数都是 false; (调试时打了断点后等3、5分钟就会变成死循环IE Chrome都一样) //while(i --)//只要i>0 ,正常执行 ,0和负数都是 false (调试时打了断点后等3、5分钟就会变成死循环IE Chrome都一样) while(i >= 0){//只要i>0 ,正常执行 ,0和负数都是 false (应该严格采用这样的方法) if(this[i] === obj){ return i; } alert(i); i --; } return -1; }}arr.indexOf("张三");
function search(arr,dst){ var i = arr.length -1; while(i >= 0){ if (arr[i] === dst){ return i; } i-- ; } return -1;}var a=[4];log(search(a,4));//返回2
阅读全文