Pet*_*son 3 javascript arrays ecmascript-6
使用ES6集,我可以这样做:
let ints = new Set([1,2,3])
console.log(ints.has(3))
Run Code Online (Sandbox Code Playgroud)
而且它打印true,因为3 是在集合.
但阵列怎么样?例如
let coordinates = new Set([[1,1], [1,2], [2,0]])
console.log(coordinates.has([1,2]))
Run Code Online (Sandbox Code Playgroud)
这打印false.
因此,在没有首先将坐标转换为字符串(例如['1,1', '1,2', '2,0'])的情况下,我如何处理集合中的数组,就像数组是可以清除的一样?
因为Set和Map实例基于===比较(除了NaN),所以两个不同的数组永远不会比较相同,因此您的示例正确导致false.然而:
var a = [1, 1], b = [1, 2], c = [1, 3];
var s = new Set([a, b, c]);
console.log(s.has(a));
Run Code Online (Sandbox Code Playgroud)
将打印true.
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |