簡體   English   中英

如何構建一套獨特的 Arrays?

[英]How to build a Set of unique Arrays?

我想將許多 arrays 添加到 Javascript 集合中,並確保僅將唯一的 arrays 添加到集合中。 但是,當我嘗試多次添加相同的數組時,它總是被添加而不是被拒絕。 .has() 方法也總是返回 false。 我該如何解決?

const mySet = new Set();
mySet.add([1, 2, 3]);
mySet.add([4, 5]);
mySet.add([1, 2, 3]);

console.log(mySet);                 
// Gives:  Set(3) { [ 1, 2, 3 ], [ 4, 5 ], [ 1, 2, 3 ] } 
// I want: Set(2) { [ 1, 2, 3 ], [ 4, 5 ] }

console.log(mySet.has([1, 2, 3]));  
// Gives:  false
// I want: true

我會使用 Map 代替,由數組的字符串化版本索引:

 const map = new Map(); const addToMap = arr => map.set(JSON.stringify(arr), arr); addToMap([1, 2, 3]); addToMap([4, 5]); addToMap([1, 2, 3]); console.log([...map.values()]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM