【发布时间】:2021-08-27 09:10:03
【问题描述】:
尝试解决代码战中的任务:
编写一个函数,从一个列表中找出一个单词的所有字谜。您将获得两个输入一个单词和一个带有单词的数组。您应该返回一个包含所有字谜的数组,如果没有则返回一个空数组。
anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada']) => ['aabb', 'bbaa']
这是我的解决方案:
function anagrams(str, arr) {
let newArr = [];
for(let i = 0; i < arr.length; i++) {
let result = str.split('').every(function(letter) {
return arr[i].indexOf(letter) != -1;
});
if(result === true) {
newArr.push(arr[i]);
}
}
return newArr;
}
哪个不能正常工作:当需要['aabb', 'bbaa'] 时,它会显示["aabb","abcd","bbaa"]。
提前谢谢你。
【问题讨论】:
标签: arrays string algorithm anagram