如何使用javascript查找字符串中最大单词的长度?

问题描述 投票:0回答:2

function findLongestWordLength(str) {
  var res = str.split(" ");
  var ar = [];
  for (let i = 0; i <
    res.length; i++) {
    let leength = res[i].length;
    ar.push(leength);
    //ar is the array of the lengths of the word in the string.
  }
  var largest = 0;
  for (let i = 0; i <=
    largest; i++) {
    if (ar[i] > largest) {
      var largest = ar[i];
    } //this loop is detecting largest number from the array ar.
  }
  return largest;
}
console.log(findLongestWordLength("What if we try a super-long word such as otorhinolaryngology"));

我要从字符串中获得最大的字长,

这适用于最大字符串,但不适用于此核心响应数组“如果我们尝试超长的单词,例如耳鼻喉科,该怎么办”

javascript arrays string
2个回答
1
投票

您有

var largest = 0;
for (let i = 0; i <= largest; i++) {

您正在将ar从索引0循环到第一个将largest设置为大于当前索引的索引。使用i < ar.length代替:

function findLongestWordLength(str) {
  var res = str.split(" ");
  var ar = [];
  for (let i = 0; i < res.length; i++) {
    let leength = res[i].length;
    ar.push(leength);
    //ar is the array of the lengths of the word in the string.
  }
  var largest = 0;
  for (let i = 0; i < ar.length; i++) {
    if (ar[i] > largest) {
      var largest = ar[i];
    } //this loop is detecting largest number from the array ar.
  }
  return largest;
}
console.log(findLongestWordLength("What if we try a super-long word such as otorhinolaryngology"))

但是将映射的字长扩展到Math.max可能会更容易:

const findLongestWordLength = str => Math.max(
  ...str.split(' ').map(word => word.length)
);
console.log(findLongestWordLength("What if we try a super-long word such as otorhinolaryngology"))

0
投票

尝试在空白处分割输入,然后按长度对数组进行排序:

var input = "What if we try a super-long word such as otorhinolaryngology";
var parts = input.split(/\s+/);
parts.sort(function(a, b) { return b.length - a.length; });
console.log(parts[0]);
© www.soinside.com 2019 - 2024. All rights reserved.