输入:array = [2,5,1,2,3,5,1,2,4]
输出返回2
输入:array = [2,1,1,2,3,5,1,2,4]
输出返回1
输入数组= [2,3,4,5]
输出返回未定义
我在repl.it上运行我的代码,它始终返回undefined。
有什么改进的方法可以使不确定的消失?
还有如何在第三输入中返回未定义?
我在JS中尝试的方法:
function FirstRecurringCharacter(arr){
for (i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) !== i) {
console.log(arr[i]);
break;
}
}
};
FirstRecurringCharacter([2,5,1,2,3,5,1,2,4])//should return 2
FirstRecurringCharacter([2,1,1,2,3,5,1,2,4])//should return 1
FirstRecurringCharacter([2,3,4,5])//should rerturn undefinedRun Code Online (Sandbox Code Playgroud)
You could take a Set and use Array#find.
function find(array) {
var s = new Set;
return array.find(v => s.has(v) || !s.add(v));
}
console.log(find([2, 5, 1, 2, 3, 5, 1, 2, 4])); // 2
console.log(find([2, 1, 1, 2, 3, 5, 1, 2, 4])); // 1
console.log(find([2, 3, 4, 5])); // undefinedRun Code Online (Sandbox Code Playgroud)