Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Di chuyển tất cả số 0 trong mảng về cuối trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng các giá trị có thể chứa một số 0. Hàm sẽ điều chỉnh mảng sao cho tất cả các số 0 được đẩy về cuối và tất cả các phần tử khác 0 giữ nguyên vị trí tương đối của chúng.

Ví dụ

Dưới đây là mã nguồn:

const arr = [5, 0, 1, 0, -3, 0, 4, 6]; 
const moveAllZero = (arr = []) => { 
  const res = []; 
  let currIndex = 0; 
  for(let i = 0; i < arr.length; i++){ 
    const el = arr[i]; 
    if(el === 0){ 
      res.push(0); 
    }else{ 
      res.splice(currIndex, undefined, el); 
      currIndex++; 
    }; 
  }; 
  return res; 
}; 
console.log(moveAllZero(arr));

Kết quả

Kết quả đầu ra trong console:

[ 
  5, 1, -3, 4, 
  6, 0, 0, 0 
]