簡體   English   中英

使用 Set 比較數組中的唯一項

[英]Comparing unique items in arrays using Set

編輯:下面由微弱信號提供的鏈接是最適用的答案。 它不僅解釋了為什么會發生這種行為,而且還為所述問題提供了解決方案。

我有一個數組,我想確定所有元素是否都等於一個值。 下面的代碼看起來應該可以工作,但它沒有。 誰能解釋一下?

var array1 = ['foo', 'bar', 'baz'];
var array2 = ['foo', 'foo', 'foo'];

//I expect this to be false and it is
new Set(array1) == new Set(['foo']);

//I expect this to be true and it is not
new Set(array2) == new Set(['foo']);

任何信息將是最受歡迎的!

檢查集合的大小是否為一:

new Set(array2).size === 1

正如其他答案/評論已經提到的,

new Set(array2) == new Set(['foo'])

返回 false 因為不同的對象不相等。

理論上,您可以使用評論中提到的問題中的技術檢查new Set(array2)new Set(['foo'])的等價性,但您不需要這樣做,因為檢查大小is 1 正是您所需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM