3 回答
TA贡献1804条经验 获得超2个赞
您可以使用indexOf:
var imageList = [100,200,300,400,500];
var index = imageList.indexOf(200); // 1
如果无法在数组中找到值,则将得到-1。
TA贡献1801条经验 获得超8个赞
对于对象阵列使用map与indexOf:
var imageList = [
{value: 100},
{value: 200},
{value: 300},
{value: 400},
{value: 500}
];
var index = imageList.map(function (img) { return img.value; }).indexOf(200);
console.log(index);
在现代浏览器中,您可以使用findIndex:
var imageList = [
{value: 100},
{value: 200},
{value: 300},
{value: 400},
{value: 500}
];
var index = imageList.findIndex(img => img.value === 200);
console.log(index);
它是ES6的一部分,并受 Chrome,FF,Safari和Edge支持
TA贡献1830条经验 获得超3个赞
这是在javascript中的复杂数组中查找值索引的另一种方法。希望确实能帮助到别人。让我们假设我们有一个如下的JavaScript数组,
var studentsArray =
[
{
"rollnumber": 1,
"name": "dj",
"subject": "physics"
},
{
"rollnumber": 2,
"name": "tanmay",
"subject": "biology"
},
{
"rollnumber": 3,
"name": "amit",
"subject": "chemistry"
},
];
现在,如果我们需要选择数组中的特定对象。让我们假设我们要查找名称为Tanmay的学生的索引。
我们可以通过遍历数组并比较给定键的值来做到这一点。
function functiontofindIndexByKeyValue(arraytosearch, key, valuetosearch) {
for (var i = 0; i < arraytosearch.length; i++) {
if (arraytosearch[i][key] == valuetosearch) {
return i;
}
}
return null;
}
您可以使用该函数来查找特定元素的索引,如下所示,
var index = functiontofindIndexByKeyValue(studentsArray, "name", "tanmay");
alert(index);
添加回答
举报