Подскажите, пожалуйста, как объединить массивы по следующей логике:
У меня есть массив данных:
const graphData = [{
'value': 2.1,
'title': 'Один'
}, {
'value': 1.1,
'title': 'Два два два два'
}, {
'value': 0.7,
'title': 'Три'
}, {
'value': 5.1,
'title': 'Четыре четыре'
}, {
'value': 6.5,
'title': 'Пять пять пять'
}]
И есть массив цветов:
const colorsList = [
{ id: 'Один', color: '#f9cd5b' },
{ id: 'Два два два два', color: '#60c78d' },
{ id: 'Три', color: '#bb61c7' },
{ id: 'Четыре четыре', color: '#5ed0fa' },
{ id: 'Пять пять пять', color: 'orange' },
]
Мне необходимо получить следующую структуру:
const tGraphData = [{
value: 2.1,
title: 'Один',
color: '#f9cd5b'
}, {
value: 1.1,
title: 'Два два два два',
color: '#60c78d'
}, {
value: 0.7,
title: 'Три',
color: '#bb61c7'
}, {
value: 5.1,
title: 'Четыре четыре',
color: '#5ed0fa'
}, {
value: 6.5,
title: 'Пять пять пять',
color: 'orange'
}, {
value: 8,
title: 'шесть шесть',
color: 'default color'
}]
Мое решение:
const tData = graphData.map((v) => {
const i = colorsList.filter((color) => {
return color.id.toLowerCase() === v.title.toLowerCase()
})[0]
return {
value: v.value,
title: v.title,
color: _.get(i, 'color', '')
}
})