如何从JavaScript对象数组中获取service.id为222的对象
从对象数组中筛选指定service.id的对象
你可以用JavaScript的数组方法快速实现需求,以下是两种常用方案:
原数据结构
const allData = [{ key1: "value1", key2: "value2", service: { id: "123", name: "name1" } }, { key1: "value1", key2: "value2", service: { id: "222", name: "name2" } } ];
方案1:获取单个匹配对象(推荐,适合唯一匹配场景)
使用find()方法,它会返回数组中第一个符合条件的对象:
const targetObj = allData.find(item => item.service.id === "222"); console.log(targetObj); // 输出结果: // { key1: "value1", key2: "value2", service: { id: "222", name: "name2" } }
如果没有找到匹配项,find()会返回undefined。
方案2:获取所有匹配对象(适合多匹配场景)
使用filter()方法,它会返回所有符合条件的对象组成的新数组:
const targetObjs = allData.filter(item => item.service.id === "222"); console.log(targetObjs); // 输出结果: // [{ key1: "value1", key2: "value2", service: { id: "222", name: "name2" } }]
如果没有找到匹配项,filter()会返回空数组[]。
内容的提问来源于stack exchange,提问作者user1938143
相关产品推荐
相关产品推荐

