JavaScript数组上的indexOf问题

Pos*_*Guy 2 javascript

var allProductIDs = [5410, 8362, 6638, 6758, 7795, 5775, 1004, 1008, 1013, 1014, 1015, 1072, 1076, 1086, 1111, 1112, 1140];

lastProductID = 6758;
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我得到-1或我猜这相当于没有找到这个:

alert(allProductIDs[allProductIDs.indexOf(lastProductID));
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我的生命因为它应该找到6758而那将是索引3.如果它是索引3那么我应该回到6758我会想.

Mik*_*son 5

.indexOf() 用于字符串,而不是数组.

使用常规Javascript,您必须循环遍历数组,直到找到匹配项,或使用inArray()jQuery函数.

jQuery inArray()

  • 显然,数组在JavaScript 1.6及更高版本中具有.indexOf():https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf (5认同)