该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~
- 任务
- 找出数组中重复的元素,并返回,如果没有,返回null。
- 例如:
[2, 3, 6, 34, 7, 8, 2] // 返回 2
- 解答
- 其一
function elimination(arr){
for (let i=0;i<arr.length;i++){
if(i != arr.lastIndexOf(arr[i])) {
return arr[i];
}
}
return null;
}
- 其二
const elimination = arr => arr.filter((e,i) => i !== arr.lastIndexOf(e))[0] || null;
- 其三
const elimination = ar => ar.find((e,i) => i !== ar.lastIndexOf(e)) || null;
- 其四
const elimination = arr => arr.sort().find((n, i) => n === arr[i + 1]) || null;