在 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 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告