Мой первый массив:
[
{
"id": 1,
"name": "Gilman",
"entryCheckPointId": 1,
"entryCheckPoint": {
"id": 1,
"name": "Checkpoint A"
}
},
{
"id": 2,
"name": "Arshad",
"entryCheckPointId": 3,
"entryCheckPoint": {
"id": 3,
"name": "Checkpoint C"
}
},
{
"id": 3,
"name": "Illyas",
"entryCheckPointId": 3,
"entryCheckPoint": {
"id": 3,
"name": "Checkpoint C"
}
}
]
Второй массив:
[
{
"entryCheckPointId": 1,
"count": 1
},
{
"entryCheckPointId": 3,
"count": 2
}
]
Я хочу сопоставить их оба, используя entryCheckPointId, и я хочу вернуть новую форму массива, такую как
Ожидаемый результат:
[
{
label: 'Checkpoint A',
value: 1, // count
color: 'green'
},
{
label: 'Checkpoint C',
value: 2, // count
color: 'pink'
},
]
Я пытался с функцией карты, но она не работает должным образом, как я ожидал.
Я пытался этот код:
var mergedList = _.map(a1, function(item){
return _.extend(item, _.findWhere(a2, { id: item.id }));
}); // a1 is firstArray and a2 is secondArray
Можно ли это сделать с помощью какой-либо библиотеки lodash?
И одно сомнение, одинаковые ли lodash и подчеркивание?