查找在数组中最长的单词/字符串 [英] Find the longest word/string in an array

查看:311
本文介绍了查找在数组中最长的单词/字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚开始学习JavaScript。我想写一个JavaScript找到并打印在数组中最长的单词。我想出了下面的code:

  VAR长字= [佩内洛普,约翰尼,Aubumayang,捷克斯洛伐克,斯洛文尼亚]
变种最长= 0;
对于(VAR I = 0; I< longWords.length;我++){
如果(最长<长字[I]。长度){
    最长=长字[I]
  }
}的console.log(最长)

问题是,它总是最终打印数组中的第一个元素。此装置 =最长的长字[0] 。现在,当我换行 =最长的长字[I] =最长的长字[I]。长度我得到的算上最长字符。请告诉我,为什么它没有工作,我怎么能使用循环做到这一点。


解决方案

 如果(最长<长字[I]。长度){

也许应该是

 如果(longest.length<长字[I]。长度){

I just started learning JavaScript. I am trying to write a JavaScript to find and print the longest word in an Array. I came up with the code below:

var longWords = ["Penelope", "Johny", "Aubumayang", "Czechoslovakia", "Slovenia"]
var longest = 0;
for (var i = 0; i < longWords.length; i++) {
if (longest < longWords[i].length) {
    longest = longWords[i];
  }
}

console.log(longest)

The problem is it always end up printing the first element in the array. which means longest = longWords[0]. Now when I change the line longest = longWords[i] to longest = longWords[i].length I get the count of the longest character. Please tell me why it didn't work and how I can do this using the for loop.

解决方案

if (longest < longWords[i].length) {

Should probably be

if (longest.length < longWords[i].length) {

这篇关于查找在数组中最长的单词/字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆