JavaScript编码:数组中的第一个重复字符不适用于null 问题

JavaScript编码:数组中的第一个重复字符不适用于null 问题,javascript,multidimensional-array,ecmascript-6,count,repeat,Javascript,Multidimensional Array,Ecmascript 6,Count,Repeat,我不确定我做错了什么。我正在使用普通JavaScript查找并返回数组中的第一个重复元素。我的代码适用于2个测试数组(a和c),但不适用于没有重复元素的情况 我的代码 console.clear(); VarA=[2,1,3,5,3,2]; VarB=[2,4,3,5,1]; 变量c=[“苹果”、“橙子”、“葡萄”、“橙子”、“葡萄”]; //创建一个对象来存储计数 变量计数={}; 函数firstDuplicate(arr){ //循环通过传递的数字数组 对于(var i=0;i您希望在每次

我不确定我做错了什么。我正在使用普通JavaScript查找并返回数组中的第一个重复元素。我的代码适用于2个测试数组(
a
c
),但不适用于没有重复元素的情况

我的代码
console.clear();
VarA=[2,1,3,5,3,2];
VarB=[2,4,3,5,1];
变量c=[“苹果”、“橙子”、“葡萄”、“橙子”、“葡萄”];
//创建一个对象来存储计数
变量计数={};
函数firstDuplicate(arr){
//循环通过传递的数字数组

对于(var i=0;i您希望在每次调用
firstDuplicate
时重置
计数。否则每次调用将共享同一对象

您还在
for
循环中引用
a
,但应该引用
arr
函数参数

var a=[2,1,3,5,3,2];
VarB=[2,4,3,5,1];
变量c=[“苹果”、“橙子”、“葡萄”、“橙子”、“葡萄”];
函数firstDuplicate(arr){
//将此定义移动到函数中,使每个
//调用firstDuplicate()时,会得到一个新的counts对象。
变量计数={};
//使用arr.length,以便遍历arr参数

对于(var i=0;i如果将
var counts={}
声明移动到函数中会发生什么?+1谢谢!很有效……我知道这很简单,但我的眼睛就是看不到。标记正确。