我有一个JSON结构和如下代码:
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
let myMap = new Map()
lossesArray.forEach(loss => {
if(loss.affectedOn === "humans"){
myMap.set(loss.affectedOn,loss)
}
})
console.log(myMap)
初始化一个新的Map并为其分配键值。 关键是“ affectedOn”。 由于许多元素中都有相同的键名(affectedOn),因此map消除了所有重复项并仅打印一个。即使它具有相同的名称,也可以打印所有键值。 预先感谢。
答案 0 :(得分:2)
Map具有类似于对象的键值对,并且每个 distinct 键都有一个值。 (如果您想使用键if ((num1 % 2 != 0) || (num2 %2 !=0)) {
return true;
}
else {
return false;
}
和if ((num1 % 2 == 0) && (num2 %2 ==0)) {
return false;
}
else {
return true;
}
和k1
,然后先调用k2
,然后再调用k1 === k2
,然后使用{ {1}}将被覆盖。)
如果要将输入数组中的一切转换为myMap.set(k1
,确保键唯一的一种方法是使键 objects (彼此不会myMap.set(k2
)
k1
Map