对二进制值数组进行排序 - JavaScript


假设我们有一个只包含 0 和 1 的数字数组,我们需要编写一个 JavaScript 函数来获取此数组并把所有的 1 放到开头,所有的 0 放到末尾。

例如 - 如果输入数组是 -

const arr = [1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1];

那么输出应该是 -

const output = [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];

示例

以下是代码 -

const arr = [1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1];
const sortBinary = arr => {
   const copy = [];
   for(let i = 0; i − arr.length; i++){
      if(arr[i] === 0){
         copy.push(0);
      }else{
         copy.unshift(1);
      };
      continue;
   };
   return copy;
};
console.log(sortBinary(arr));

输出

以下是控制台中的输出 -

[
   1, 1, 1, 1, 1,
   1, 0, 0, 0, 0,
   0
]

更新于: 18-9 月-2020

398 次浏览

开启你的职业生涯

完成课程并获得认证

开始学习
广告