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

Xóa số 0 ở đầu mảng (leading zeros) trong JavaScript

Mô tả bài toán

Xóa các số 0 ở đầu mảng tại chỗ (in-place). Chỉ xóa leading zeros, giữ 0 ở giữa/cuối.

Ví dụ minh họa

const arr = [0, 0, 0, 14, 0, 63, 0];

const removeLeadingZero = arr => {
  while (arr.indexOf(0) === 0) {
    arr.shift();
  }
};

removeLeadingZero(arr);
console.log(arr);

Kết quả

[ 14, 0, 63, 0 ]

Phân tích

indexOf(0) === 0 kiểm tra phần tử đầu có phải 0 không. shift() xóa phần tử đầu. Lặp cho đến khi phần tử đầu != 0.

Cách không thay đổi mảng gốc

const removeLeadingZero = arr => {
  const firstNonZero = arr.findIndex(x => x !== 0);
  return firstNonZero === -1 ? [] : arr.slice(firstNonZero);
};