如何单行查找嵌套对象数组中含指定ID属性子对象的外层元素
嵌套对象数组的指定ID查找单行实现
你可以通过 Array.prototype.filter + Array.prototype.some 的组合实现单行查询,如果你需要匹配所有符合条件的外层元素,写法如下:
// 替换targetUserId为你要查找的用户ID即可 const result = casses.filter(item => item.user.some(user => user.id === targetUserId))
如果你只需要获取第一个匹配的外层元素,把filter替换为find即可:
const firstMatch = casses.find(item => item.user.some(user => user.id === targetUserId))
逻辑说明
some方法会遍历子数组,只要存在1个符合user.id === 目标ID条件的元素就会返回true,刚好匹配你要判断「子数组包含指定ID对象」的需求- 外层用
filter会返回所有符合条件的外层对象,用find则会返回第一个匹配的外层对象,你可以根据实际需求选择
内容的提问来源于stack exchange,提问作者Vlad
相关产品推荐
相关产品推荐

