使用 JavaScript 查找第一个重复字符


我们有一个可能包含重复字符的字符串/数字常数数组。我们的任务是编写一个函数,该函数接收数组并返回第一个重复字符的索引。如果数组中不包含任何重复字符,我们应该返回 -1。

因此,让我们编写此函数的代码。我们将使用 for 循环遍历数组,并使用映射将不同字符存储为键,并将它们的索引存储为值,如果在迭代期间遇到重复键,我们返回其索引,否则在循环的末尾返回 -1。

代码如下 −

示例

const arr = [12,4365,76,43,76,98,5,31,4];
const secondArr = [6,8,9,32,1,76,98,0,65,878,90];
const findRepeatingIndex = (arr) => {
   const map = {};
   for(let i = 0; i < arr.length; i++){
      if(map[arr[i]]){
         return map[arr[i]];
      }else{
         map[arr[i]] = i;
      }
   }
   return -1;
};
console.log(findRepeatingIndex(arr));
console.log(findRepeatingIndex(secondArr));

输出

控制台中的输出为 −

2
-1

更新于: 2020 年 8 月 20 日

597 次浏览

职业 起步

完成课程以获得认证

立即开始
广告