0

请阅读:我知道这感觉就像在 Stack Overflow 上得到了令人作呕的回答,但我发誓我找不到一个好的答案。此外,将其标记为“可能重复”太元了!

我有一个特定顺序的值矩阵(在javascript中):

[ [1,2], [1,2], [3,4], [5,6] [5,6] ]

但是我最近了解到,当有相同的行时,Google 图表会崩溃。我需要删除重复项;但是,该数组相当大,我无法承受幼稚实现的二次时间。

通常,如果每行都是可散列的,我会将它们添加到字典{ }中以查看我已经看到的;但是,javascript 不允许对数组进行散列处理。

最好的方法是什么?我想我可以将每一行的数组转换为一个字符串并将其用作键,但这感觉就像一个非常肮脏(并且可能很慢)的黑客攻击。我真的很喜欢你的建议。

4

1 回答 1

1

您可以使用 Set 和 JSON Stringify/Parse 轻松删除重复项。所以这种方法将保持矩阵的顺序。

const array = [[1, 2],[1, 2],[3, 4],[5, 6],[5, 6]];
const set = new Set(array.map(JSON.stringify));
const arr = [...set].map(JSON.parse);

console.log(arr);// output : [[1,2], [3,4], [5,6]]

于 2020-02-27T11:30:26.110 回答