我有像數組如下如何獲得元素第二索引的數組中的JavaScript
var arr = [10,12,34,23,12,89,34,12];
在此,我有12
三次。我想找個12的javascript.Is它的第二個索引可能找到。我嘗試了lastIndexOf()
。但它沒有幫助我。有什麼方法可以找到這個。
在此先感謝...
我有像數組如下如何獲得元素第二索引的數組中的JavaScript
var arr = [10,12,34,23,12,89,34,12];
在此,我有12
三次。我想找個12的javascript.Is它的第二個索引可能找到。我嘗試了lastIndexOf()
。但它沒有幫助我。有什麼方法可以找到這個。
在此先感謝...
還有一個可能的解決方案:
Array.prototype.nthIndexOf = function(e, n) {
var index = -1;
for (var i = 0, len = this.length; i < len; i++) {
if (i in this && e === this[i] && !--n) {
index = i;
break;
}
}
return index;
};
[10, 12, 34, 23, 12, 89, 34, 12].nthIndexOf(12, 2);
// >> 4
array.indexOf(searchElement[, fromIndex])
arr.indexOf(12, arr.indexOf(12) + 1);
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
+1感謝您的幫助 – PSR
+1我認爲這是最乾淨的。我只會添加一個'(我在這個)''測試'if',以便它更像spec-like,儘管它很少會有所作爲。 – 2013-05-21 12:58:51
...哦,等等,你否定'n' ...爲什麼?也許你的意思是'!!'? ...原來如此。我的頭腦是在'爲'而不是'如果'。沒關係。 – 2013-05-21 13:01:28