「製品」と言う表示インターフェイスを作成しています。この例では、ディスプレイに最大 4 つの製品が表示されるとします。製品のソースはさまざまです。ソースの数が、表示する製品の数よりも大きくなることはありません (この例では最大 4 つのソース)。各ソースには 1 つ以上の製品が含まれます。目標は、表示される製品の数をソース全体に均等に分配することです。
4 つの製品のロジックは次のように処理されます。
- ソースが1 つの場合、そのソースから 4 つの項目が選択されます。 (4x1)
- ソースが4 つある場合は、各ソースから 1 つのアイテムが選択されます。(1x1+1x1+1x1+1x1)
- 2 つのソースがある場合、各ソース (2x1+2x1) から 2 つのアイテムが選択されます。一方のソースに製品が 1 つしかない場合を除き、(1x1+3x1) のようになります。
- 3 つのソースがある場合、2 つのソースから 1 つのアイテムが選択され、1 つのソースから 2 つのアイテムが選択されます(2x1+1x1+1x1)。
製品を出力するためのループを開始する前に、ソースのコレクションと各ソースの項目数を取得します。
私の質問は:
各ソースをループして適切な量の製品を出力する最も簡単な方法は何ですか?
各ソースには 1 つの製品しかない可能性があるため、4 つの製品を選択できない可能性があることに注意してください。