-2

次の配列があります:arrtooth

var arrtooth = tooth.split('|');

それは価値を得る

arrtooth=[1,2,3,6,7,10,11,15,16,17];

順番にある要素が欲しい(1,2,3) (6,7) (10,11) (15,16,17)。私のコードはJqueryにあります。実際のロジックが欲しいだけです。

配列で 3 2 2 3 として出力を取得した場合は問題ありません。または、シーケンスを詳しく説明できるもの (出力) があれば問題ありません。

4

3 に答える 3

2
var arrtooth = [1, 2, 3, 6, 7, 10, 11, 15, 16, 17];
var last = arrtooth[0];
var result = [];
count = 1;
for (var i = 1; i < arrtooth.length; i++) {
    if (arrtooth[i] == (last + 1)) {
        count++;

    } else {
        result.push(count);
        count = 1;
    }
    last = arrtooth[i];
}
result.push(count);

jsFiddle の例

于 2013-04-05T14:15:28.817 に答える