arr.indexOf()和arr.lastIndexOf()

    技术2023-08-15  106

    数组的索引方法:

    arr.indexOf(a,b) ===> 从数组开头向后查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置.arr.lastIndexOf(a,b) ===> 从数组末尾向前查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置.两者返回的是所要查找的项的索引或者-1、不改变原数组封装一个自己的indexOf方法的函数 var arr = [3,4,5,7,9,6,3,5]; console.log('原数组:',arr); // 原数组:[3,4,5,7,9,6,3,5] // console.log(arr.indexOf(13,2)); // -1 // console.log(arr.indexOf(9,2)) // 4 // console.log(arr); // [3,4,5,7,9,6,3,5] Array.prototype.myIndexOf = function(num,index){ let result = -1 for(var i=index;i<this.length;i++){ if(this[i] === num){ result = i break } } return result } console.log(arr.myIndexOf(13,2)) // console.log(arr.myIndexOf(9,2)) console.log(arr) 封装一个自己的lastIndexOf方法的函数 var arr = [3,4,5,7,9,6,3,5]; // console.log('原数组:',arr); // 原数组:[3,4,5,7,9,6,3,5] /* console.log(arr.lastIndexOf(13,2)); // -1 console.log(arr.lastIndexOf(9,-2)) // 4 console.log(arr.lastIndexOf(9,2)) // -1 console.log(arr); // [3,4,5,7,9,6,3,5] */ Array.prototype.myLastIndexOf = function(num,index){ let result = -1 if(index >= 0){ for(var i=index;i>=0;i--){ if(this[i] === num){ result = i break } } }else{ for(var i=index;i<this.length;i++){ if(this[i] === num){ result = i break } } } return result } console.log(arr.myLastIndexOf(13,2)) console.log(arr.myLastIndexOf(9,2)) console.log(arr.myLastIndexOf(9,-2)) console.log(arr)
    Processed: 0.013, SQL: 9