繁体   English   中英

在Javascript中查找数组元素的位置

[英]Finding array element's position whitin the element itself in Javascript

如果我们能够访问元素本身,那hathat是在数组中查找元素位置的最有效方法?

var arr = [];
for (var i = 0; i < 10; i++) {
    arr[i] = {test: Math.floor(Math.random() * 101)}
}
var test = arr[Math.floor(Math.random() * 11)];

现在如何获得test所指元素的位置?

我只是在这里生成位置时存储位置,如下所示:

var arr = [];
for (var i = 0; i < 10; i++) {
    arr[i] = {test: Math.floor(Math.random() * 101)}
}
var index = Math.floor(Math.random() * 11);
var test = arr[index];
//index is the position

我认为随机生成只是一个例子。

现在,如果您有一个元素的引用 ,并且想要找出其索引,则可以使用Array.indexOf方法。 这是一项新功能,因此并非所有浏览器都原生支持它,但易于实现。 准系统解决方案如下所示:

if (!Array.prototype.indexOf) {
  Array.prototype.indexOf = function (searchElement) {
    var len = this.length >>> 0;
    for (var i = 0; i < len; i++) {
      if (searchElement === this[i]) return i;
    }
    return -1;
  };
}

现在您可以将其用作:

index = array.indexOf(elem)    // index from an element reference
examp = [5,8,12,5].indexOf(12) // 2

暂无
暂无

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

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