У меня есть объект папок/файлов выглядит следующим образом:Underscore.js findWhere вложенные объекты
{
about.html : {
path : './about.html'
},
about2.html : {
path : './about2.html'
},
about3.html : {
path : './about3.html'
},
folderName : {
path : './folderName',
children : {
sub-child.html : {
path : 'folderName/sub-child.html'
}
}
}
}
И он может пойти 6-7 уровней глубоко в папках, имеющих детей.
Я хочу найти объект, где путь равен строке, которую я предоставляю. Независимо от глубины.
Я использую подчеркивание, который только делает верхний уровень:
_.findWhere(files,{path:'./about2.html'}
Как я могу сделать глубокий, вложенный поиск. У подчеркивания есть что-то для этого или мне нужно создать mixin с рекурсией?
Возврат false для того, чтобы lodash вырвался из цикла, если значение найдено, не уверен, поддерживает ли подчеркивание, просматривая код, возможно, возвращение {} приведет к его разрыву, но я не уверен. – dariusriggins
Отлично работает, спасибо тонну! – wesbos
Отличное решение, работает как шарм. Интересно, почему это не встроено в US/LD по умолчанию! – dbau