欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

es6 json數組去重的方法

劉姿婷1年前8瀏覽0評論

在 ES6 中,可以使用 Set 和 Spread Syntax 兩種方式,實現對 JSON 數組的去重。

首先,我們需要了解 Set 這個數據結構。它類似于數組,但是它的成員都是唯一的,沒有重復的值。創建一個 Set 的方式如下:

const mySet = new Set();
mySet.add(1);
mySet.add(2);
mySet.add(3);
console.log(mySet); // Set {1, 2, 3}

接下來,我們來看看如何用 Set 來實現 JSON 數組的去重。代碼如下:

const arr = [{"name":"張三","age":18},{"name":"李四","age":20},{"name":"張三","age":18}];
const newArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
console.log(newArr); // [{"name":"張三","age":18},{"name":"李四","age":20}]

代碼分為兩步。首先,我們使用 map 方法將 JSON 數組中每個對象轉換為字符串,然后用 Set 將這些字符串去重。最后,我們再使用 map 方法將去重后的字符串數組轉換回 JSON 對象數組。

除了使用 Set,我們還可以使用 Spread Syntax(展開語法)來實現 JSON 數組的去重。使用 Spread Syntax 對數組進行去重時,需要用到 Set 和 Spread Syntax 這兩種特性。代碼如下:

const arr = [{"name":"張三","age":18},{"name":"李四","age":20},{"name":"張三","age":18}];
const newArr = [...new Set(arr.map(JSON.stringify))].map(JSON.parse);
console.log(newArr); // [{"name":"張三","age":18},{"name":"李四","age":20}]

這里的代碼也是分兩步。首先使用 map 方法將 JSON 數組中的每個對象轉換為字符串,然后通過 Spread Syntax 將返回的字符串數組展開成為一系列的獨立的字符串。最后使用 map 方法將這些字符串轉回為 JSON 對象數組。