我试图使用forEach循环返回数组中最长的偶数字,并在没有偶数字时返回“ 00”。我可以返回最长的偶数字词来正常工作,但是当我引入else语句时,它不再起作用:

function FindlongestWord(input) {
  var arrWords = input.split(' ');
  var wordlength = 0;
  var word = '';
  arrWords.forEach(function(wrd) {
    if (wordlength < wrd.length && wrd.length % 2 == 0) {
      wordlength = wrd.length;
      word = wrd;
    } else  {
      return "00";
    }
  });
  return word;
}

最佳答案

您的return "00"语句仅从内部函数返回,而不从FindlongestWord(input)函数返回。

您可以使用“ 00”来初始化您的单词。如果未在forEach中设置,它将返回“ 00”。

function FindlongestWord(input) {
var arrWords = input.split(' ');
var wordlength = 0;
var word = '00';
arrWords.forEach(function(wrd) {
   if (wordlength < wrd.length && wrd.length % 2 == 0) {
      wordlength = wrd.length;
      word = wrd;
   }
});
return word;
}

09-25 17:35