間の差を取得します。 cardsOnTable
は、cardsInHand
からのみ可能です。たとえば、カード1を再生すると、cardsInHand
は[2,3]
、cardsOnableは[1]
になります。フィルタを使用してこれを達成できますが、cardsInHand
から削除された値は失われます。逆はその後cardsInHand
が[1,2,3]
とcardsOnTable
なり、Iカード1バックアップ場合は、真である[]
スウィフトは、私は次の配列を持つ2つのアレイ
let cardsPlayed = 1
cardsInHand = cardsInHand.filter { $0 != cardsPlayed }
print(cardsInHand)
[2,3]
になりますどのように私はcardsOnTable
がcardsPlayed
とcardsInHand
の違いも得ることができますか?
見出しが誤解を招く場合は申し訳ありませんが、説明する方法がわかりませんでした。私はマップ、削減またはフィルタがこれを処理する最も簡単な方法かもしれないと感じています。
これは 'cardsInHand.filter {cardsPlayed.contains($ 0)}'であるはずですか? – Alexander
カードをフィルタリングする代わりに、カードに追加する必要があります。カードから取り出したときに返されるカードは、「 –
」ですが、cardsInHandから削除された値は失われます。それはどういう意味ですか? –