2
我見過很多次這樣的事情:爲什麼我應該在我自己定製的'array.indexOf'中使用「我在數組中」?
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
。
我有三個問題:
- 它是做什麼?
- 有必要嗎?
- 什麼時候沒有它會失敗?
不是'T [0] == undefined'? – mithril333221 2012-02-19 06:21:04
@ mithril333221,不,不是,自己嘗試一下;本地實現'var t = []; t [1] = 1; t.indexOf(undefined);'returns'-1'。雖然't [0] ===未定義'並不意味着數組中存在未定義的條目,這只是表示本機查找函數返回了該值。 – davin 2012-02-19 06:23:33
@davin okey,我會接受你的答案。只是最後一件事,它爲什麼是'-1'?,編輯:你的編輯回答了這個問題,所以我想不需要進一步的練習 – mithril333221 2012-02-19 06:24:33