JSFiddle - React, Tailwind, and code Playground

by Khalil Zhang

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

JavaScript

const data = [{
  id: '1',
  list: [{
      id: '11'
    },
    {
      id: '12'
    }
  ]
}, {
  id: '2',
  list: [{
      id: '21',
      list: [{
          id: '211',
        },
        {
          id: '212'
        }
      ]
    },
    {
      id: '22',
      list: [{
          id: '221'
        },
        {
          id: '222'
        }
      ]
    }
  ]
}]

function foo(data) {
  return _.flatMap(data, item => {
    if (item.list) {
      return foo(item.list)
    } else {
      return item.id
    }
  })
}

console.log(foo(data))