gpt4 book ai didi

javascript - 为什么我应该在我自己的自定义 'i in array' 中使用 'array.indexOf' ?

转载 作者:行者123 更新时间:2023-11-29 16:22:52 25 4
gpt4 key购买 nike

我见过很多次这样的事情:

function customArrayIndexOf(item, array){
for (var i = 0, l = array.length; i < l; i++) {
if (i in array && array[i] === item) return i;
}
return -1;
}

但是,我不确定为什么需要 i in array

我有三个问题:

  • 它在做什么?
  • 有必要吗?
  • 没有它什么时候会失败?

最佳答案

稀疏数组可能会在没有检查的情况下导致误报:

var customArrayIndexOf = function(item, array){
for (var i = 0, l = array.length; i < l; i++) {
if (i in array && array[i] === item) return i;
}
return -1;
},
customArrayIndexOfNoCheck = function(item, array){
for (var i = 0, l = array.length; i < l; i++) {
if (array[i] === item) return i;
}
return -1;
};

var t=[]; t[1]=1;

customArrayIndexOfNoCheck(undefined, t); // 0
customArrayIndexOf(undefined, t); // -1

(il 应该是本地的,即用 var 声明)

关于javascript - 为什么我应该在我自己的自定义 'i in array' 中使用 'array.indexOf' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com