题解 | #查找数组元素位置#
查找数组元素位置
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
}
// 往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的属性后续使用就和原来的一样
*/