【发布时间】:2021-12-26 17:25:19
【问题描述】:
您好,我有一个对象数组,其中包含另一个对象数组。
我需要在数组中找到一个对象,该对象在它的数组中包含另一个具有某些属性的对象
ID。
假设我需要在 casses 数组中找到一个对象,其中包含具有特定 ID 的用户。
用户 ID 是唯一的。
casses = [
{
caseName: 'case 1',
date: '2021-05-4',
id: '123',
user: [{name: 'Vlad', id: '1'}, {name: 'Misha', id: '2'}]
},
{
caseName: 'case 2',
date: '2021-05-4',
id: '123',
user: [{name: 'Alina', id: '3'}, {name: 'Alex', id: '4'}]
},
{
caseName: 'case 3',
date: '2021-05-4',
id: '123',
user: []
},
]
我可以使用嵌套循环等等。但我想知道是否可以用一条线做? 像这样但更深一层:
let val = casses(item => item.id === element.id);
【问题讨论】:
-
嵌套循环是个好主意。然后,您通常可以用内置函数替换循环,这些函数接管循环,例如
Array.prototype.find或Array.prototype.some,但相应地,您需要嵌套的:casses.find(outerObject => outerObject.user.some(user => user.id === '1')); -
我自己也想使用循环,它们很容易阅读和理解。但我的任务是用很少的代码行来完成。
标签: javascript node.js arrays reactjs object