如何拆分字符串数组中的每个字符串元素?

时间:2016-10-29 10:55:15

标签: javascript arrays string

    function anagrams(word, words) {
       var returnArray = [];
       var wordToTest= word.split("").sort();
       for(i=0; i<=words.length; i++){
          var wordssToTest = words[i].split("");
          wordssToTest.sort();
          if(wordssToTest==wordToTest){
             returnArray.push(wordssToTest);
          }
       }
     return returnArray;


    }

您好! 我需要创建一个函数,其中输入是字符串(单词)和字符串数组(单词)。 我的目标是返回一个新数组,其中包含“&#39;单词”中所有单词的列表。字符串是&#39;字的字谜字符串。

我编写了代码,但它没有识别第5行的words[i].split("")函数,说它是未定义的未知属性 ..
有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

您在for循环中使用了<=而不是<。正确的代码:

function anagrams(word, words) {
       var returnArray = [];
       var wordToTest= word.split("").sort();
       for(i=0; i<words.length; i++){
          var wordssToTest = words[i].split("");
          wordssToTest.sort();
          if(wordssToTest==wordToTest){
             returnArray.push(wordssToTest);
          }
       }
     return returnArray;


    }

答案 1 :(得分:0)

使用Array#filter方法,这是一个更简单的解决方案:

function anagrams(word, words) {
  return words.filter(el =>
    word.split('').sort().toString() === el.split('').sort().toString()
  );
}