2013-01-02 69 views

回答

36

假設陣列中的每個元素是唯一的:與兩個陣列的交點的長度進行比較的hand長度。如果它們相同,則hand中的所有元素也都在colors中。

var result = (hand.length === _.intersection(hand, colors).length); 

DEMO

+0

謝謝,無論我讀了多少次下劃線文檔,當我需要它們時,我都很少想到這些解決方案。 – ThomasReggi

+1

如你所說,如果這些元素不是唯一的,它也不起作用,如果你想檢查順序,它也不起作用:我創建了我的要點來解決這些需求:https://gist.github.com/timaschew/891632094c8bfcb73c38 – timaschew

+0

_.difference(subset,superset).length === 0 –

17

也許difference是你正在尋找什麼:

_(hand).difference(colors).length === 0 
+2

它應該是'_(hand).difference(colors).length === 0;':http://jsfiddle.net/GXGun/1/(反之亦然;))。不錯的解決方案! –

+1

@FelixKling謝謝!修正:) –

+0

'return!_(hand).difference(colors).length' –

相關問題