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
引用的元素的位置?
答案 0 :(得分:1)
我只是在这里生成它时存储位置,如下所示:
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
答案 1 :(得分:0)
我认为随机生成只是一个例子。
现在,如果您对某个元素有引用并希望查找其索引,则可以使用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