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