У меня есть массив массивов.Как мне преобразовать их в массив объектов, сгруппированных вместе?
var abc = [
['apple', 'fruit'], ['banana', 'fruit'], ['grapes', 'fruit'], ['red', 'color'], ['blue', 'color'], ['black', 'color']
]
abc = abc.map(function(item) {
return {
value: item[0],
color: item[1]
}
})
colors = abc.filter(function(item) {
return item.color === 'color'
})
fruits = abc.filter(function(item) {
return item.color === 'fruit'
})
var result = [{
group: 'color',
value: colors.map(function(item) {
return item.value
})
}, {
group: 'fruit',
value: fruits.map(function(item) {
return item.value
})
}]
console.log(result)
Мой ожидаемый результат:
var abc = [
{
group: 'color',
value: ['red', 'blue', 'black']
},
{
group: 'fruit',
value: ['apple', 'banana', 'grapes']
}]
Есть ли более простой способ добиться этого?
Я тоже могу использовать lodash.Пожалуйста, сообщите.