一:場景描述
最近做一個前端本地存儲用戶點擊搜索出來的地址,需要的時候展示的歷史地址記錄功能,因為我是存到一個數組里面,地址內容按照對象形式存儲進去,所以就涉及到數組對象去重操作
二:代碼實現
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;
? ? }
參考自:http://www.lxweimin.com/p/131ca13e7f28;這上面的數組去重場景更多,可以作為思路參考