一:场景描述
最近做一个前端本地存储用户点击搜索出来的地址,需要的时候展示的历史地址记录功能,因为我是存到一个数组里面,地址内容按照对象形式存储进去,所以就涉及到数组对象去重操作
二:代码实现
1:数据格式:
arr=[
{code:'10010',address:'baba',title:'baba'},
{code:'10011',address:'aaa',title:'aaa'},
{code:'10011',address:'ccc',title:'ccc'}
]
此时如果要往arr种添加一个新的对象,如果title重复的话,则保持原来数据,不添加,如果之前没有,则添加;
我这边的解决办法是先arr.push({code:'10011',address:'ccc',title:'ccc'}),然后在做数组去重操作
unique(arr)=>{
let result = {};
let finalResult = [];
arr.map((items) => {
result[items.title] = items;
})
for (let item in result) {
finalResult.push(result[item]);
}
return finalResult;
}
参考自:https://www.jianshu.com/p/131ca13e7f28;这上面的数组去重场景更多,可以作为思路参考