[英]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.