Finding the first unique element in a sorted array in JavaScript


Suppose we have a sorted array of literals like this −

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

We are required to write a JavaScript function that takes in one such array and returns the first number that appears only once in the array.

If there is no such number in the array, we should return false.

For this array, the output should be 6.

Example

The code for this will be −

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));

Output

Following is the output on console −

6

Updated on: 10-Oct-2020

451 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements