奈奈's test

by Shang-De You

JavaScript

let data = [
{
	id: 1,
  'org-name': 'a'
},
{
	id: 2,
  'org-name': 'b'
},
{
	id: 3,
  'org-name': 'a'
}
]

let result = data
  .reduce((result, item) => {
    if ( result.find(d => d === item['org-name']) == null ) {
      result.push(item['org-name'])
    }
    return result
  }, [])
  .map(orgName => {
    return {
      label: orgName,
      options: data
        .filter(d => d['org-name'] === orgName)
        .map(d => {
          return {
            id: d.id
          }
        })
    }
  })

console.log(result)