How to change index to value in an Object

Advertisements
const arr= [
{
"name":"Toyota"},
{"name":"Renault"},
{"name":"Jeep"},
]
  
  const array_unique = (arr) => Array.from(new Set(arr));
  
  const car = array_unique(
    array.map((item) => item.name),
  ).sort();// ['Toyota', 'Renault', 'Jeep']

  const car_map = Object.fromEntries(
    car.map((car,index) => [car,index]),
  );//{Toyota: 0, Renault: 1, Jeep: 2,}

Is there any possibility to change the index like 0, 1, 2 into car name
like:

{Toyota: Toyota, Renault: Renault, Jeep: Jeep,}

>Solution :

You can use map() and Object.fromEntries() methods

const arr = [
  { name: "Toyota" },
  { name: "Renault" },
  { name: "Jeep" },
];

const array_unique = (arr) => Array.from(new Set(arr));

const carNames = array_unique(arr.map((item) => item.name)).sort();

const carMap = Object.fromEntries(carNames.map((name) => [name, name]));

console.log(carMap);

Leave a Reply Cancel reply