在 JavaScript 中检测数组中第一个非唯一元素


我们需要编写一个函数,该函数返回在数组中至少出现两次的第一个元素的索引。如果没有元素出现多次,我们必须返回 -1。我们必须在常量空间内(即,不使用额外内存)完成此操作。

那么,让我们编写此问题的解决方案。

我们将使用 for 循环迭代数组,并使用 Array.prototype.lastIndexOf() 方法检查是否存在重复项。

示例

代码将如下所示 −

const arr1 = [0, 1, 1, 2, 3, 4, 4, 5];
const firstRedundant = arr => {
   for(let i = 0; i < arr.length; i++){
      if(arr.lastIndexOf(arr[i]) !== i){
         return i;
      };
   };
   return -1;
}
console.log(firstRedundant(arr1)); // 1

输出

控制台中的输出将是 −

1

更新于: 20-10-2020

117 次浏览

提升你的职业生涯

完成该课程进行认证

开始
广告
© . All rights reserved.