Нахождение самого большого слова

Здравствуйте, я попытался преобразовать строку в массив, а затем найти самое большое слово, вывод должен быть длиной слова в числах. Я не уверен, что я делаю неправильно и почему этот код не работает, если кто-то может указать мне на это, я был бы очень благодарен.

function findLongestWordLength(str) {
  let words=str.split(" ");
  let bigword=0;
  
  for(let i=0; i<=words.length; i++) {
      if (words[i].length>bigword) {
          bigword=words[i].length;
      }
  }
  return bigword; 
}

Разве вы не видели ошибку -> Cannot read properties of undefined (reading 'length') Если вы новичок в Javascript, вы найдете console очень удобный инструмент для устранения проблем.

Keith 03.04.2023 12:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
65
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

В вашем цикле for вы выполняете итерацию немного далеко. Вы можете заменить i<= words.length на i< words.length

Ответ принят как подходящий

Это потому, что ваш цикл работает дольше, чем элементы в массиве.

Изменить i<=words.length на i<words.length

function findLongestWordLength(str) {
  let words = str.split(" ");
  let bigword = 0;


  for (let i = 0; i < words.length; i++) {

    if (words[i].length > bigword) {
      bigword = words[i].length;
    }

  }
  
  return bigword;
}

console.info(findLongestWordLength('a aaa bb c'));

Вы также можете использовать Math.max с переданным сопоставленным массивом длин слов:

const findLongest = (str) => {
  const words = str.split(' ');
  const longest = Math.max(...words.map(({ length }) => length));
  return longest;
};

const str = 'This is the test string';
const longestLength = findLongest(str);
console.info(longestLength); 
function findLongestWordLength(str) {
    let words = str.split(" ");
    let biglength = Math.max(...words.map(({ length }) => length));
    let word = [];
    for (let i = 0; i < words.length; i++) {
        if (words[i].length == biglength) {
            word.push(words[i]);
        }
    }
    return word;
}
console.info(findLongestWordLength('a bb ccc ddd ee f'));

function findBigestWordLength(wordsParams) {
  const words = wordsParams.split(' ');

  console.info(Math.max(...words.map((word) => word.length)));
}

findBigestWordLength('a bb ccc dddd eeeee');

Другие вопросы по теме