let arr = [ { a: 1, b: 2, key: 'k' }, { a: 2, b: 3, key: 'k' }, { a: 5, b: 6, key: 's' }, { a: 7, b: 8, key: 's' }, { a: 9, b: 9, key: '' } ] let key=['k','s'] // console.log('--', // _.groupBy([6.1, 4.2, 6.3], Math.floor) // ) // console.info('--', // _.groupBy(arr, 'k') // ) let List=_.reduce(arr, function(sum, n) { if(n.k){ key.forEach((m)=>{ if(m==n.key){ sum.push(n); return sum } }) }else{ return n; } }); console.log('list',List)