在 JavaScript 中找到已排序陣列中的第一個唯一元素


假設我們有一個像這樣的已排序的字面陣列——

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

我們需要編寫一個 JavaScript 函式,它接受其中一個數組,並返回僅在該陣列中出現一次的第一個數字。

如果陣列中沒有這樣的數字,我們應該返回 false。

對於此陣列,輸出應為 6。

示例

程式碼如下——

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

輸出

下面是控制檯上的輸出——

6

更新於: 2020 年 10 月 10 日

491 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告