私は今月のすべてのイベントを含む2つのループを毎月毎に1つずつ持っています。 100,000のイベントがあるとしましょう。 イベントがメインイベント「List
」から「消滅しました」から削除する方法を探しています。immutable.js検索されたエントリをフィルタ処理して変更(削除)
calendarRange.map((day) => {
const dayEvents = events.filter((event) => day.get('initialDate').isSame(event.get('initialDate'), 'day')) // we get all events for each day
doSomeThingWithDays(dayEvents)
pullAllWith(events, dayEvents, (a, b) => a === b)
}
:私はちょうどのような何かを行うことができlodashで
const calendarRange = [{initialDate}, {initialDate}, {initialDate}, {initialDate}, ...] // say we have 30 dates, one for each day
const events = fromJS([{initialDate}, {initialDate}, {initialDate}, ...]) // let's say we have 100 000
calendarRange.map((day) => {
const dayEvents = events.filter((event) => day.get('initialDate').isSame(event.get('initialDate'), 'day')) // we get all events for each day
doSomeThingWithDays(dayEvents)
// how could I subtract `dayEvents` from `events` in a way
// the next celandarRange iteration we have less events to filter?
// the order of the first loop must be preserved (because it's from day 1 to day 3{01}])
}
:
コードのようなものでしょうか?私は本当に、リストを反復処理する私の方法のためのソリューションを期待していないんだけど、イベントはビンに分割して、それがますます小さく得る方法でイベントList
を削減するスマートな方法..ため
ところで、私はアプローチはゼロ副作用と末尾再帰を用いた機能的に純粋である、追加すべきです。残りのアイテムを言いたい場合は、単にiterから値を返すことができます。 – Asti