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

JavaScriptで配列に存在するすべてのゼロを最後に移動する


問題

いくつかの0を含む可能性のあるリテラルの配列を受け取るJavaScript関数を作成する必要があります。この関数は、すべてのゼロが最後にプッシュされ、すべての非ゼロ要素が相対位置を保持するように配列を微調整する必要があります。

以下はコードです-

const arr = [5, 0, 1, 0, -3, 0, 4, 6];
const moveAllZero = (arr = []) => {
   const res = [];
   let currIndex = 0;
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      if(el === 0){
         res.push(0);
      }else{
         res.splice(currIndex, undefined, el);
         currIndex++;
      };
   };
   return res;
};
console.log(moveAllZero(arr));

出力

以下はコンソール出力です-

[
   5, 1, -3, 4,
   6, 0, 0, 0
]

  1. C++ですべてのゼロを配列の最後に移動します

    複数のゼロを含む配列を指定します。配列内のすべてのゼロを最後まで移動する必要があります。例を見てみましょう。 入力 arr = [4, 5, 0, 3, 2, 0, 0, 0, 5, 0, 1] 出力 4 5 3 2 5 1 0 0 0 0 0 アルゴリズム アレイを初期化します。 インデックスを0に初期化します。 指定された配列を繰り返し処理します。 現在の要素がゼロでない場合は、インデックスの値を現在の要素で更新します。 インデックスをインクリメントします。 上記のインデックスからnまで繰り返すループを作成します すべての要素を0に

  2. Pythonのリスト内包表記を使用して、すべてのゼロを配列の最後に移動します

    数値のリストが与えられたら、リスト内包表記を使用してすべてのゼロを最後に移動します。たとえば、[1、3、0、4、0、5、6、0、7]の結果は[1、3、4、5、6、7、0、0、0]です。 これは、リスト内包表記を使用した1行のコードです。結果を得るには、次の手順を参照してください。 番号のリストを初期化します。 リストから非ゼロを生成し、リストからゼロを生成します。両方を追加します。結果をリストに保存します。 新しいリストを印刷します。 例 # initializing a list numbers = [1, 3, 0, 4, 0, 5, 6, 0, 7] # movi