题解 | #查找数组元素位置#

查找数组元素位置

http://www.nowcoder.com/practice/e7835a8113dd48afb15f77ef8d1dcb1d

仅针对此道题的求位置不考虑
   function indexOf1(arr,item){
    let res = -1
    for (let i = 0; (i < arr.length && res === -1); i++){
      if(arr[i] === item){
        res = i
      }
    }
    return res
  }
  现实生活中封装的indexOf样子
    // 往array的原型上添加这个indexOf1的属性
    Array.prototype.indexOf1  = function indexOf1(item){
    let res = -1
    console.log(this,'this的指向');
    for (let i = 0; (i < this.length && res === -1); i++){
      if(this[i] === item){
        res = i
      }
    }
    return res
  }
  let arr = [1,4,8,3]
  Array.prototype.indexOf1.call(arr)
   console.log(arr.indexOf1(0));
/*    现实生活中indexOf的参数是需要检索的字符串,第一个参数不是数组所以我们
  需要省略arr这个参数,又因为arr.indexOf1的时候是调用这个函数,谁调用指向谁,所以这里的this
  指向arr,在js执行的时候会自行添加this的参数,所以在往原型上挂在的时候添加this的属性后续使用就和原来的一样
  
  */

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务