1、使用Map对象
重复的值以最后一个为准
var arr = [
{id: '1',key: '1',value: '明月'},
{id: '3',key: '2',value: '可欣'},
{id: '2',key: '3',value: '小红'},
{id: '1',key: '1',value: '小馨'},
{id: '1',key: '2',value: '小静'}
];
var map = new Map();
for (let item of arr) {
map.set(item.id, item);//map.set( a, b),将b赋予a
}
arr = [...map.values()]
map值
去重后数组
1.1扩展
for…in 循环主要是为了遍历对象而生(直接拿到对象的属性名,再根据属性名获取属性值),不适用于遍历数组(拿到的是数组对象的下标)
for…of 循环可以用来遍历数组(直接获取数组的值)、类数组对象,字符串、Set、Map 以及 Generator 对象
1.2扩展
1.map.has()返回的是布尔类型,判断是否存在该值
2.map.get()返回了该值在数组中的下标
3.map.set( a, b),将b赋予a