Find object by match property in nested array
I'm not seeing a way to find objects when my condition would involve a nested array. var modules = [{ name: 'Module1', submodules: [{ name: 'Submodule1', id: 1 }, { name: 'Submodule2', id: 2 } ] }, { name: 'Module2', submodules: [{ name: 'Submodule1', id: 3 }, { name: 'Submodule2', id: 4 } ] } ]; This won't work because submodules is an array, not an object. Is there any shorthand that would make this work? I'm trying to avoid iterating the array manually. _.where(modules, {submodules:{id:3}}); Here's what I came up with: _.find(modules, _.flow( _.property('submodules'), _.partialRight(_.some,