在javaScript中的对象数组中查找键的索引

find index of key in array of objects in javaScript

本文关键字:索引 查找 对象 javaScript 数组      更新时间:2023-09-26

假设我有一个对象数组:

var a = [
    {id: "1", "name": "ABC"}, 
    {id: "2", "name": "XYZ"},
    {id: "3", "name": "PQR"},
    {id: "4", "name": "JKL"}
];

我需要找到包含关键字"id:'3'"的对象的索引。有没有办法使用下划线库找到该对象的索引?我已经使用for循环实现了这一点,但想知道一种更简单的方法。

在ECMAScript 6中,您可以使用findIndex:

[
    {id: "1", "name": "ABC"}, 
    {id: "2", "name": "XYZ"},
    {id: "3", "name": "PQR"},
    {id: "4", "name": "JKL"}
].findIndex(o => o.id === "3"); // 2

类似地,下划线也有_.findIndex:

_.findIndex([
    {id: "1", "name": "ABC"}, 
    {id: "2", "name": "XYZ"},
    {id: "3", "name": "PQR"},
    {id: "4", "name": "JKL"}
], function(o){ return o.id === "3"}); // 2