如何处理我的JavaScript作业?

时间:2016-12-04 10:42:00

标签: javascript arrays

这是我的作业:

  

根据以下内容编写JavaScript程序:

     
      
  1. 编写一个名为longestWord的函数,它接受一个字符串数组       作为参数并返回数组中最长的字符串(即       字数最多的单词)。
  2.   
  3. 从用户那里读取10个单词并将它们存储在10个数组中       元件。
  4.   
  5. 在输出窗口中打印数组元素。
  6.   
  7. 调用函数longestWord并打印结果。
  8.   

这是我的功能longestWord

的解决方案

function LongestWord(str) {
  var words = str.split(' ');
  var maxLength = 0;

  for (var i = 0; i < words.length; i++) {
    if (words[i].length > maxLength) {
      maxLength = words[i].length;
    }
  }

  return maxLength;
}

1 个答案:

答案 0 :(得分:0)

您可以使用map()按照长度列表转换单词列表,然后将它们从最长到最短排序,然后保留第一个:

var list = ["pain", "poire", "banane", "kiwi", "pomme", "raisin"]
var result = list.map(x => x.length).sort((a,b) => a < b)[0];
console.log(result);

或者,如果你不想使用后代排序,你可以保持默认排序,但是像这样反转数组:

var list = ["pain", "poire", "banane", "kiwi", "pomme", "raisin"]
var result = list.map(x => x.length).sort().reverse()[0];
console.log(result);