Chúng ta có mảng chứa 0, 1 và các số khác. Cần viết hàm đưa tất cả 1 về đầu mảng và 0 về cuối mảng.
Dưới đây là mã:
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
[ 1, 1, 1, 3, 2, 8, 9, 1, 9, 2, 2, 1, 1, 4, 3, 0, 0, 0, 0, 0, 0 ]