gpt4 book ai didi

javascript - 比较 ECMA6 集合是否相等

转载 作者:IT王子 更新时间:2023-10-29 02:47:39 25 4
gpt4 key购买 nike

如何比较两个 javascript 集?我尝试使用 ===== 但都返回 false。

a = new Set([1,2,3]);
b = new Set([1,3,2]);
a == b; //=> false
a === b; //=> false

这两个集合是等价的,因为根据定义,sets do not have order (至少通常不会)。我看过 the documentation for Set on MDN并没有发现任何有用的东西。有人知道怎么做吗?

最佳答案

试试这个:

const eqSet = (xs, ys) =>
xs.size === ys.size &&
[...xs].every((x) => ys.has(x));

const ws = new Set([1, 2, 3]);
const xs = new Set([1, 3, 2]);
const ys = new Set([1, 2, 4]);
const zs = new Set([1, 2, 3, 4]);

console.log(eqSet(ws, xs)); // true
console.log(eqSet(ws, ys)); // false
console.log(eqSet(ws, zs)); // false

关于javascript - 比较 ECMA6 集合是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com