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);
添加回答
舉報