Computer >> Máy Tính >  >> Lập trình >> Javascript

Xóa phủ định khỏi mảng trong JavaScript

Cho một dãy nhiều giá trị. Ví dụ -

[-3,5,1,3,2,10]

Chúng tôi được yêu cầu viết một hàm loại bỏ bất kỳ giá trị âm nào trong mảng. Khi chức năng kết thúc quá trình thực thi, mảng chỉ nên bao gồm các số dương.

Chúng tôi bắt buộc phải làm điều này mà không tạo một mảng tạm thời và chỉ sử dụng phương thức pop để loại bỏ bất kỳ giá trị nào trong mảng.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

// strip all negatives off the end
while (x.length && x[x.length - 1] < 0) {
   x.pop();
}
for (var i = x.length - 1; i >= 0; i--) {
   if (x[i] < 0) {
      // replace this element with the last element (guaranteed to be
      positive)
      x[i] = x[x.length - 1];
      x.pop();
   }
}

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ 1, 8, 9 ]