在 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.