繁体   English   中英

如何在javascript中获取数组中的元素第二个索引?

[英]How to get the element second index in an array in javascript?

我有一个数组如下:

var arr = [10, 12, 34, 23, 12, 89, 34, 12];

在这我已经12次三次。 我想在JavaScript中找到12的第二个索引。 我尝试使用lastIndexOf()但它没有帮助我。 有没有办法找到这个?

array.indexOf(searchElement[, fromIndex])

arr.indexOf(12, arr.indexOf(12) + 1);

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf

另一种可能的解决方案

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

我只是使用for循环遍历数组

var first = false;
var index = 0;
for(var i = 0; i<arr.length;i++)
{
    if(arr[i] == 12)
    {
         if(first==true)
         {
             index = i;
         }
    first = true;

   }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM