内の数字の近さに基づいて、アレイ削減:私はこれをループする必要がある私はこのようになりますアレー持つオブジェクト
[
{ "begin": 870, "end": 889, "spanType": ["plan", "gt-plan"] },
{ "begin": 890, "end": 925, "spanType": ["plan", "gt-plan"] },
{ "begin": 926, "end": 938, "spanType": ["plan", "gt-plan"] },
{ "begin": 939, "end": 958, "spanType": ["plan", "gt-plan"] },
{ "begin": 7732, "end": 7790, "spanType": ["plan", "gt-plan"] },
{ "begin": 7791, "end": 7879, "spanType": ["plan", "gt-plan"] }
]
をし、このようになります配列を作成:
[
{ "begin": 870, "end": 958, "spanType": ["plan", "gt-plan"] },
{ "begin": 7732, "end": 7879, "spanType": ["plan", "gt-plan"] }
]
を
基本的にspan.endが次のspan.beginの3以内にある場合は、2つのスパンを一緒にマージします。ここで
私は今(動作していない)したものであるsee fiddle:
まずspans.forEach(function(d,i) {
if (i+1 <= spans.length - 1) {
if (spans[i+1].begin <= d.end + 3) {
d.end = spans[i+1].end;
newSpans.push(d);
}
else {
newSpans.push(spans[i]);
}
}
});
代わりに 'reduce'を使用しますか? – evolutionxbox
'spanType'の同一性をチェックする必要がありますか? –