如何根据id匹配条件从数组中获取目标对象?
筛选数组中
id等于requiredId的对象 注意:你提供的数组存在语法错误,部分键值对末尾缺少逗号,修正后的数组如下:
const data = [ { "data": { "id": 1, "vol": "0.0", "requiredId": 100, "details": { "ABC": "8.30", "OFG": "13.85", "SPG": "70.80" } } }, { "data": { "id": 2, "vol": "1.0", "requiredId": 2, "details": { "ABC": "3.30", "OFG": "15.85", "SPG": "70.80" } } } ];
实现方法
可以使用数组的filter()或find()方法完成筛选:
1. 获取所有符合条件的对象(返回数组)
const matchedItems = data.filter(item => item.data.id === item.data.requiredId); console.log(matchedItems); // 输出:[{ "data": { "id":2, "vol":"1.0", "requiredId":2, "details": {...} } }]
2. 获取第一个符合条件的对象(返回单个元素)
如果只需要第一个匹配项,用find()更高效:
const firstMatchedItem = data.find(item => item.data.id === item.data.requiredId); console.log(firstMatchedItem);
代码说明
filter():遍历数组,将所有满足item.data.id === item.data.requiredId条件的元素收集为新数组返回。find():遍历数组,返回第一个满足条件的元素,若没有匹配项则返回undefined。
内容的提问来源于stack exchange,提问作者Roma
相关产品推荐
相关产品推荐

