タイトル:[2、10、3、4、5、11、10、11、20、例えば、長さ10のランダムな整数型配列を生成]、に配置され、例えば、新しい配列、要件の新しい配列は、以下[2、3、4、5]、[10、11]、[20]]。
回答:
関数formArray(ARR){ CONST sortedArr = Array.from(新しい新しいセット(ARR))ソート((A、B)=> A - B); // マップ定義 地図= CONSTを新しい新しいマップ(); sortedArr.forEach ((V) => { // インデックス得る CONSTをMath.floorキー=(V / 10 ); // マップに添字値取得 = CONSTグループをmap.getとして(キー)|| []; / / 電流値プッシュ group.push(V)を; // リフレッシュ目標値を現在の地図で map.set(キー群)。 }); //解体用の配列返し リターン[... map.values()]; } // 連続バージョンの検索 機能formArray1(ARR){ CONST sortedArr = Array.from(新しい新しいセット(ARR))をソート((A、B)=。 > - B)を、 戻り sortedArr.reduce((ACC、CUR)=> { // 現在のアレイと、最終的に、最後の配列値取得 CONST = lastArr acc.slice()POPを()||。[]。 LASTVALのconst = lastArr.slice()POP();. // LASTVAL = nullの意義不明のこの判断、直感的に、最初のサイクルがヌル、未定義でない場合であっても! IF(= LASTVAL!ヌル- CUR && LASTVAL === 1 ){ // 中の最後のアレイスロー ; lastArr.push(CUR)を } 他{ // 最後のメモリアレイは、最大となる acc.push([CUR])。 } 戻りACCを; }、[]); } 関数 genNumArray(NUM、ベース= 100 ){ 戻り Array.from({長さ:NUM}、()=> Math.floor(Math.random()* )塩基)。 } CONST ARR = genNumArray(10、20である); // [2、10 ,. 3 ,. 4 ,. 5 ,. 11、10 ,. 11、20]、 CONSTはRES =formArray(ARR)。 CONST RES1 = formArray1(ARR)。 console.log( `RESの$ {JSON.stringify(RES)}`)。