【发布时间】:2021-03-05 18:46:10
【问题描述】:
我对编程很陌生,我正在解决一个代码大战问题,如下所示:
问题: 编写一个函数,从列表中找到一个单词的所有字谜。您将获得两个输入一个单词和一个带有单词的数组。如果没有,您应该返回所有字谜的数组或空数组。 这是我的代码
function anagrams(word, words) {
let word_Array = word.split('').sort()
let total = []
for (x = 0; x<words.length; x++) {
if(words[x].split('').sort() === word_Array) {
total.push(words[x])
} return total
}
}
结果应该是这样的
anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada']) => ['aabb', 'bbaa']
当我运行我的代码时,我不断得到一个空数组。请有人告诉我代码中的错误。谢谢
【问题讨论】:
-
您在循环内返回 total,因此,循环不会运行多次 - 如果循环运行时
if(words[x].split('').sort() === word_Array)为 false,则 total 将是一个空数组 -
谢谢!你会建议我如何解决这个问题?
-
在for循环之外返回
标签: javascript string algorithm anagram