1
私は不変の.map()を使って、 "セグメント"のList()
を反復しようとしています。Immutable.js .mapは1回の繰り返しで複数の要素を返します
各セグメントは複数の日にまたがる場合があります。このセグメントを複数のセグメントに分割したい場合は、それぞれ1日のみに分割します。
私は基本的なロジックの作業持っているように見える:
const segmentedList = nonSegmentedList.map((segment) => {
if (spansMultipleDays(segment)) {
return segmentByDay(segment) // returns a list
} else {
return segment
}
})
return segmentedList
私の問題は.map
の戻りはセグメントのリストを返し、単一segmentedList
リスト項目でそれらを移入するということです。たとえば、segment1とsegment3は1日に分割され、segment2は3日間に分割されます。
私の戻り値は、次のようになります
[
{segment1},
{segment2a},
{segment2b},
{segment2c},
{segment3}
]
Immutable's flatMap機能は一種の私が探しているもののように聞こえるが、置き換える:
[
{segment1},
[{segment2a}, {segment2b}, {segment2c}],
{segment3}
]
はしかし、これは希望されているものですflatMapを使用した上記のスニペットの.mapは、同じ結果をもたらしました。