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

Tìm phần tử duy nhất đầu tiên trong một mảng được sắp xếp trong JavaScript

Giả sử chúng ta có một mảng các ký tự được sắp xếp như thế này -

const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9];

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng như vậy và trả về số đầu tiên chỉ xuất hiện một lần trong mảng.

Nếu không có số như vậy trong mảng, chúng ta phải trả về false.

Đối với mảng này, đầu ra phải là 6.

Ví dụ

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

const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9];

const firstNonDuplicate = arr => {
   let appeared = false;
   for(let i = 0; i < arr.length; i++){
      if(appeared){
         if(arr[i+1] !== arr[i]){
            appeared = false;
         };
      }else{
         if(arr[i+1] === arr[i]){
            appeared = true;
            continue;
         };
         return arr[i];
      };
   };
   return false;
};
console.log(firstNonDuplicate(arr));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

6