我正在尝试编写代码,以查找具有4个(在这种情况下)字符的所有单词。所以我的预期输出是this that abcd

我当前的代码看起来像这样,它的问题在于,它仅找到第一个单词this,并且不再寻找进一步的that abcd

let string = 'aa this bb cc that abcd';
function longWord(str) {
  let words = str.split(' ');
  let longWord = '';
  for (let word of words) {
    if (word.length > longWord.length) longWord = word;
  }
  return longWord;
}
console.log(longWord(string));


据我了解,我需要包括一个循环。

for (let word of words) {更改

对此for (var i = 1; i < words.length; i++) {

但是之后我迷路了:(

看谷歌,我只能找到与我相似的代码或输出一个字符数。

最佳答案

您可以将splitfilter一起使用。

split将创建由空格分隔的字符串数组。 filter仅返回length为4个字符的字符串。最后,join将以空格分隔的字符串返回数组。



let string = 'aa this bb cc that abcd';

function longWord(str) {
    return str.split(' ').filter(x => x.length === 4).join(' ');
}

console.log(longWord(string));

10-08 03:44