Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แยก 0 ไปขวาและ 1 ไปซ้ายใน JavaScript


เรามีอาร์เรย์ตัวเลขที่มี 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
]