lodash property search in array and in nested child arrays

后端 未结 3 1135
小蘑菇
小蘑菇 2020-12-10 02:31

I have this array:

[
    {
        id: 1,
        name: \'test 1\',
        children: []
    },
    {
        id: 2,
        name: \'test 2\',
        childr         


        
3条回答
  •  醉话见心
    2020-12-10 03:12

    Another lodash option with children key and unlimited levels deep.

    const flattenItems = (items, key) => {
        return items.reduce((flattenedItems, item) => {
            flattenedItems.push(item)
            if (Array.isArray(item[key])) {
                flattenedItems = flattenedItems.concat(flattenItems(item[key], key))
            }
            return flattenedItems
        }, [])
    }
    
    const item = find(flattenItems(items, 'children'), ['id', 4])
    

提交回复
热议问题