複雑なグループ関数を書くのは良くありません。誰も私をここで助けてくれることを願っています。私は解決策を探していましたが、私の問題を解決できるものは何も見つかりませんでした。グループ値は{n}(長さ小)から次の項目への配列
私が欲しいのは、「長さプロパティ」の最大範囲(配列内のオブジェクトを参照)で項目を次の配列項目にグループ化する「関数をグループ化する」(以下を参照)に配列のリストを渡すことです。
私が達成したいことを説明できることを願っています。
// input
let list = [
{start: 5, length: 1},
{start: 8, length: 1},
{start: 9, length: 1},
{start: 10, length: 1},
{start: 11, length: 1},
{start: 12, length: 1},
{start: 20, length: 1},
{start: 24, length: 1},
{start: 25, length: 1},
{start: 37, length: 2},
{start: 39, length: 1},
{start: 40, length: 1},
];
// group function like
groupedList = groupBy(list, (prevItem, nextItem) => {
return (nextItem.start - prevItem.start) === prevItem.length;
});
// output
let groupedList = [
[
{start: 5, length:1},
],
[
{start: 8, length:1},
{start: 9, length:1},
{start: 10, length:1},
{start: 11, length:1},
{start: 12, length:1},
],
[
{start: 20, length:1},
],
[
{start: 24, length:1},
{start: 25, length:1},
],
[
{start: 37, length:2},
{start: 39, length:1},
{start: 40, length:1},
],
];
理由を1つのグループに '37'と' 39'のですか? –
37は長さprop値が2!次の項目は39 – Bitcollage
にする必要があります。また、達成したいことについてさらに詳しく説明してください。私にはまだ不明です。 – Corcus