如何在JavaScript中编写函数以显示数组中最长的字符串

时间:2018-02-06 16:30:27

标签: javascript

到目前为止,这是我的代码,它似乎无法正常工作。我可以使用一些帮助。

function longestString(arr) {
  var longest =0;
  for (var i = 0; i < arr.length; i++) {
    if (arr[i].length > longest.length) {
      longest = arr[i];
    }
  }
}

我不确定我做错了什么。

4 个答案:

答案 0 :(得分:1)

您可以将数组的第一个单词作为参考,并从第二个单词循环,并且不要忘记返回该单词。

此方法返回第一个找到的最长字符串。

&#13;
&#13;
function longestString(array) {
    var longest = array[0],
        i;

    for (i = 1; i < array.length; i++) {
        if (array[i].length > longest.length) {
            longest = array[i];
        }
    }
    return longest;
}

console.log(longestString(['abc', 'wunderbar', 'foo']));
&#13;
&#13;
&#13;

答案 1 :(得分:0)

function longestString(arr) {
  var longest = "";
  for (var i = 0; i < arr.length; i++) {
    if (arr[i].length > longest.length) {
      longest = arr[i];
    }
  }
  return longest;
}

确保你找回你要找的东西。

答案 2 :(得分:0)

您可以使用reduce获取最长的字词。

let arr = ["apple", "me", "javascript"];

let longest = arr.reduce(function(c, v) {
  return c.length <= v.length ? v : c;
});

console.log(longest);

答案 3 :(得分:-1)

您可以使用javascript数组的sort函数循环并对字符串进行排序。然后使用索引0从排序数组中获取第一个元素。

var arr = ['this','will','sort','long','texttttttttttttt'];
//get the longest text
var long = arr.sort((a,b) => b.length - a.length)[0];
console.log(long);