【发布时间】:2019-05-09 11:18:31
【问题描述】:
我有一个相同单词的数组,但是数组中的一个单词是倒着拼写的。该函数返回“错误”单词的索引位置。下面的代码工作得很好,但它很长。
我想知道是否有办法缩短代码并使其返回相同的值?
function oddOneOut(arr) {
let word = ''
if (arr[0] === arr[1]) {
word = arr[0]
}
if (arr[1] === arr[2]) {
word = arr[1]
}
if (arr[2] === arr[3]) {
word = arr[2]
}
function wrong(element) {
return element !== word
}
return arr.findIndex(wrong)
}
console.log(oddOneOut(["sword", "sword", "sword", "sword", "drows", "sword"]))
//returns 4
【问题讨论】:
-
欢迎来到 StackOverflow!乍一看,我会说您的
oddOneOut()函数可以通过使用for循环来改进——目前它看起来相当硬编码。
标签: javascript arrays function filter