0
我正在使用一個隨機生成器來創建一個數字對,並且需要確定一個數字對是否先前已經出現。我想過使用Set(),但它似乎不工作。Javascript Set/WeakSet datastructures with objects/arrays
var a = [1, 2]
var s = new Set();
s.add(a) //Set {[1, 2]}
s.add([1, 2]) //Set {[1, 2], [1, 2]}
我懷疑這是因爲JS存儲基準,而不是價值。有什麼辦法只存儲一次數組/對,並根據值返回TRUE?
你回答了你自己的問題。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set「通過Set對象,您可以存儲任何類型的唯一值,無論是原始值還是對象引用。」這兩個數組是唯一的參考。如果你再次嘗試's.add(a);',它不會重新添加數組。 – TheJim01