14
A
回答
23
因爲如果指定的屬性/索引在對象中可用,則「in」返回true。 [1,2]是一個數組,並且在0索引處有一個對象。因此,[1,2]中的0和[1,2]中的1。但!(2 [1,2])。
編輯:對於你可能想要的,David Dorward的下面的評論是非常有用的。如果你(有點反常)要堅持「在」,你可以使用對象文本
x = {1: true, 2: true};
這應該允許1 in x && 2 in x && !(0 in x)
等,但說真的,只是使用的indexOf。
2
您可能正在尋找[1,2].indexOf(0)
。 indexOf
可能無法在ie6中運行。
這裏是一個實現中,修復它:
if(!Array.indexOf) {
Array.prototype.indexOf = function(obj) {
for(var i=0; i<this.length; i++) {
if (this[i]==obj) {
return i;
}
}
return -1;
}
}
5
,因爲在陣列中的第0
元件。
> 0 in [8,9]
true
> 1 in [8,9]
true
> 8 in [8,9]
false
相關問題
- 1. 爲什麼要列表(1,2)== [2]
- 2. 爲什麼(Infinity | 0)=== 0?
- 3. 在Javascript中,爲什麼[1,2] == [1,2]或({a:1})==({a:1})爲false?
- 4. 爲什麼用0
- 5. 爲什麼$#ARGV 0?
- 6. 爲什麼0 = 0.5?
- 7. 爲什麼xspeed!= 0?
- 8. 爲什麼bytes.length = 0?
- 9. 爲什麼JavaScript中的「0 === -0」爲true?
- 10. 爲什麼Array(100).map((_,i)=> i + 1)不返回[1,2,...,100]?
- 11. 爲什麼輸出爲0?
- 12. 爲什麼array.size爲'0'?
- 13. 如果[0] == 0和0 == [[0]]都爲真,爲什麼[0] == [[0]]爲false?
- 14. 爲什麼signbit(-0)返回0?
- 15. 爲什麼2 + 1&0結果是0?
- 16. [0] .outerHTML - 爲什麼需要包含'[0]'?
- 17. Long.valueOf(0).equals(Integer.valueOf(0))爲什麼是false?
- 18. 爲什麼InverseFunction [0&] @ 0返回33/10?
- 19. 爲什麼thing [:] [0]等於thing [0] [:]?
- 20. 爲什麼0%0會導致1?
- 21. 紅寶石爲什麼0 || 1是0
- 22. 爲什麼15.5 mod 5 = 0?
- 23. 爲什麼last_rx總是0?
- 24. 爲什麼&array!=&array [0]?
- 25. 爲什麼CreateWindowEx返回0
- 26. 爲什麼realmin> eps(0)?
- 27. 爲什麼(false == 0)是TRUE?
- 28. 爲什麼〜0是-1?
- 29. 爲什麼Api.getSize返回0
- 30. 爲什麼mysql_insert_id()返回0?
此外此,Felix正可能尋找'indexOf':https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf(要求JS 1.6,但是URI包括您可以在代碼中包含1.5或更低版本的瀏覽器的實現) – Quentin