如何在 JavaScript 对象数组中按属性值查找对象
答案:使用find()
方法
您可以简单地使用 find()
方法通过 JavaScript 中对象数组中的属性值来查找对象。 find()
方法返回给定数组中满足提供的测试功能的第一个元素。 如果没有值满足测试函数,则返回 undefined
。
以下示例展示了如何在 JavaScript 对象数组中通过 id 查找对象。
示例
/* Sample array */
var myArray = [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Peter"},
{"id": 3, "name": "Harry"}
];
/* 获取与 id "2" 匹配的 Array 项 */
var result = myArray.find(item => item.id === 2);
console.log(result.name); /* Prints: Peter
*/
或者,如果要在数组中查找匹配项的索引,可以使用 findIndex()
方法,如下例所示:
示例
/* Sample array */
var myArray = [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Peter"},
{"id": 3, "name": "Harry"}
];
/* 获取与 id "2" 匹配的数组项的索引 */
var index = myArray.findIndex(item => item.id === 2);
console.log(index); /* Prints: 1 */
console.log(myArray[index].name); /* Prints: Peter
*/
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答:
- 如何在 JavaScript 中测试空对象
- 如何检查一个键是否存在于一个 JavaScript 对象中
- 如何在 JavaScript 中按属性值对对象数组进行排序
- 如何遍历一个 JavaScript 对象