用 JavaScript 將所有 0 分離到右邊,將所有 1 分離到左邊


有一個包含 0、1 和其他一些數字的數字陣列。我們需要編寫一個 JavaScript 函式,該函式接收此陣列並將所有 1 都放到開頭,將所有 0 都放到結尾

讓我們編寫此函式的程式碼 −

示例

const arr = [3, 2, 1, 8, 9, 0, 1, 9, 0, 2, 1, 0, 2, 0, 1, 0, 1, 1, 4, 0,
3];
const segregate = arr => {
   const copy = arr.slice();
   for(let i = 0; i < copy.length; i++){
      if(copy[i] === 0){
         copy.push(copy.splice(i, 1)[0]);
      }else if(copy[i] === 1){
         copy.unshift(copy.splice(i, 1)[0]);
      };
      continue;
   };
   return copy;
};
console.log(segregate(arr));

輸出

控制檯中的輸出內容為 −

[
   1, 1, 1, 3, 2, 8, 9,
   1, 9, 2, 2, 1, 1, 4,
   3, 0, 0, 0, 0, 0, 0
]

更新於: 2020 年 8 月 31 日

181 次觀看

開啟你的職業生涯 職業生涯

完成課程以獲得認證

入門
廣告
© . All rights reserved.