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