es6新特性為我們提供了一種簡單、高效的方法來去重json數據。在日常開發中,我們經常需要進行json數據去重操作,以避免重復數據的出現影響業務的正常運行。下面我們來介紹一下如何使用es6新特性去重json數據。
// json數據示例 let list = [ {id: 1, name: '張三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}, {id: 1, name: '張三'} ]; // 使用Set特性去重 let uniqueList = Array.from(new Set(list.map(item =>JSON.stringify(item)))).map(item =>JSON.parse(item));
可以看到,我們通過使用es6中的Set特性來去重json數據實現了非常簡單和高效的方式。我們首先通過map方法遍歷json數組,將每個對象轉化為字符串形式,然后通過Set特性去重,最后通過from方法將Set結果轉化為數組形式,并通過map方法轉化為json對象形式。
在實際開發中,我們也可以通過一個函數來實現json數組去重操作:
function uniqueArray(arr, key){ let hashTable = {}; let result = arr.reduce((preVal, curVal) =>{ if(!hashTable[curVal[key]]){ hashTable[curVal[key]] = true; preVal.push(curVal); } return preVal; }, []); return result; } let list = [ {id: 1, name: '張三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}, {id: 1, name: '張三'} ]; let uniqueList = uniqueArray(list, 'id');
以上方法也可以實現json數組去重操作,我們通過使用一個對象來存儲每個json對象的唯一標識,并通過reduce方法進行去重。在使用時,我們需要傳入需要去重的json數組和json對象的唯一標識。
總之,通過es6新特性,我們可以非常簡單、高效的實現json數據的去重操作。這為我們的日常開發提供了很好的幫助和支持。