Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでの配列の不均一な並べ替え


問題

唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。この関数は、並べ替え後に要素がこのパターンに従うように、この配列を並べ替える必要があります-

arr[0] < arr[1] > arr[2] < arr[3]....

たとえば、関数への入力が-

の場合
const arr = [1, 5, 1, 1, 6, 4];

次に、出力は次のようになります(複数の可能な回答が存在する可能性もあります)-

const output = [2, 3, 1, 3, 1, 2];

このためのコードは-

になります
const arr = [1, 5, 1, 1, 6, 4];
const unevenSort = (arr = []) => {
   arr.sort((a, b) => a - b);
   let mid = Math.floor(arr.length / 2);
   if(arr.length % 2 === 1){
      mid += 1;
   };
   let even = arr.slice(0, mid);
   let odd = arr.slice(mid);
   for(let i = 0; i < arr.length; i++){
      if(i % 2 === 0){
         arr[i] = even.pop();
      }else{
         arr[i] = odd.pop();
      };
   };
};
unevenSort(arr);
console.log(arr);

出力

コンソールの出力は-

になります
[ 1, 6, 1, 5, 1, 4 ]

  1. Javascriptで配列を空にする方法

    JavaScriptで配列をクリア/空にする方法は複数あります。コンテキストに基づいてそれらを使用する必要があります。それぞれを見てみましょう。 -として定義された配列があると仮定します let arr = [1, 'test', {}, 123.43]; 新しい配列に置き換える- arr = []; これが最速の方法です。これにより、arrが新しい配列に設定されます。これは、他の場所から元のarrへの参照がない場合に最適です。そうした場合、それらの参照は更新されず、それらの場所は引き続き古い配列を使用します。 長さプロップを0に設定- arr.length = 0 これに

  2. JavaScriptの基本的な配列メソッド

    いくつかの基本的なJavaScript配列メソッドは次のとおりです- メソッド 説明 Array.push() 配列の最後に要素を追加します。 Array.pop() 配列の最後から要素を削除します。 Array.unshift() 配列の先頭に要素を追加するには Array.shift() 配列の前面から要素を削除します。 Array.splice() スプライスに要素を追加または削除するには 以下は、基本的な配列メソッドのコードです- 例 <!DOCTYPE html> <html lang="en