Карта имеет пары ключ-значение, аналогичные объекту, и будет иметь значение для каждого отдельного ключа.(Если вы хотите использовать клавиши k1
и k2
и k1 === k2
, и вы вызываете myMap.set(k1
, а затем myMap.set(k2
, тогда начальное значение, назначенное k1
, будет перезаписано.)
Если вы хотите превратить все во входном массиве в Map
, один из способов убедиться, что ключи уникальны, состоит в том, чтобы сделать ключи объекты (которые выиграли===
друг другу):
myMap.set({ key: loss.affectedOn }, loss);
const villages = {
"lossesOccured": [{
"type": "destroyed",
"affectedOn": "humans",
"quantity": 120,
"reliefFund": 100000,
"location": {
"district": "thanjavur",
"villageName": "madukkur",
"pincode": "614903"
}
},
{
"type": "physicalDamage",
"affectedOn": "humans",
"quantity": 250,
"reliefFund": 50000,
"location": {
"district": "thanjavur",
"villageName": "madukkur",
"pincode": "614903"
}
},
]
}
const lossesArray = villages.lossesOccured
const myMap = new Map();
lossesArray.forEach(loss => {
if (loss.affectedOn === "humans") {
myMap.set({ key: loss.affectedOn }, loss);
}
});
console.log(myMap);