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);