Skip to content
Advertisement

compare 2 arrays and get key of one with value of the other one in React [closed]

So in React, I have 2 arrays:

const arr1 = [
{id: 1, name: 'Hello'}
{id: 2, name: 'Dear'}
{id: 3, name: 'World'}
]

const arr2 = ['Hello', 'Dear']

I would like the arr2 values to be the id of the arr1 and end up with this:

const arr2 = [1, 2]

Thank you very much

Advertisement

Answer

Loop through arr2 and find the item with the same name in arr1. Then take the id of that item.

const arr1 = [
{id: 1, name: 'Hello'},
{id: 2, name: 'Dear'},
{id: 3, name: 'World'}
]

let arr2 = ['Hello', 'Dear']

let nameToId = arr1.reduce((result, item) => ({ ...result, [item.name]: item.id}), {}); 


arr2 = arr2.map((name) => nameToId[name]);

console.log(arr2);
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement