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

Sử dụng đệ quy để xóa các mục nhập trùng lặp liên tiếp khỏi một mảng trong JavaScript

Chúng ta phải viết một hàm nhận vào một mảng số / chuỗi ký tự. Hàm sẽ loại bỏ tất cả các phần tử liên tiếp dư thừa của mảng mà không sử dụng thêm dung lượng bộ nhớ.

Ví dụ:nếu mảng đầu vào là -

const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];

Sau đó, đầu ra phải là -

const output = [17, 12, 354, 1];

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

Ví dụ

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

const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];
const comp = (arr, len = 0, deletable = false) => {
   if(len < arr.length){
      if(deletable){
         arr.splice(len, 1);
         len--;
      }
      return comp(arr, len+1, arr[len] === arr[len+1])
   };
   return;
};
comp(arr);
console.log(arr);

Đầu ra

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

[ 17, 12, 354, 1 ]