使用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