在 JavaScript 中将所有 0 分隔在右侧,将 1 分隔在左侧

javascriptweb developmentobject oriented programming更新于 2025/10/27 2:52:17

我们有一个包含 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
]

相关文章


有用资源