js找出最长单词_JavaScript算法练习:找出字符串中最长的单词并输出其长度

本文介绍如何使用JavaScript找到字符串中最长的单词并返回其长度。通过`split()`、`sort()`、`reduce()`等方法实现,提供多种实现方式,并附带测试用例验证正确性。
摘要由CSDN通过智能技术生成

找出字符串(可能是一句话)中最长的单词并且将其长度输出 。这个算法其实就是让我们看看字符串中有多少个词,每个词有多少个字母,然后对这些词进行比较,找出字母数最多的那个词,并且返回这个最长字符数单词的长度。

实现上面描述的功能,同样先创建一个函数,比如findLongestWord() ,并且给这个函数传入一个arr 参数,这个 arr 是一个包含多个词的字符串 。然后在函数通过以下几步来实现所需的功能:

先把字符串 arr 转为数组

将数组中的每个元素长度转换成一个新的数组

将这个数组按由小到大排序

取此数组中最后的数值,也就是最长的字符串

将这个长度值返回

JavaScript方法

在写 findLongestWord(str) 函数实现文章开头所述的功能,根据上面的实现思路,将会大致用到下面几个有关于JavaScript点:

其中 String.prototype.split()主要是用来将字符串 str 转换成数组 arr 。比如:

"May the force be with you".split(" ");

// ["May", "the", "force", "be", "with", "you"]

这里需要注意一点,在使用 split() 方法时, "" 中间得要有一个空格( " " ),不然将会转成这样的一个数组:

"May the force be with you".split("");

// ["M", "a", "y", " ", "t", "h", "e", " ", "f", "o", "r", "c", "e", " ", "b", "e", " ", "w", "i", "t", "h", " ", "y", "o", "u"]

因为我们要做的是找出字符串str="May the force be with you" 中最长的词,并且将其 length 输出来。那么我们需要的是将字符按单的词而不是单独的字母来划分。因此要特别注意代码中 split()的使用。

而其它几个都是具体写函数功能需要用的,比如for是用来做遍历的,而sort() 方法用来对数组中的元素进行排序,而且这里都将是按从小到大的升序列来排列。

reduce() 方法将数组中的每个值(从左到右)开始合并,最终返回一个值。而在这个方法中,将会调一个 callback 函数,这个函数的功能就是让我们找出数组中最大的一个值。有关于 sort() 和 reduce() 更多的介绍,可以点击这里阅读。

Math.max() 方法可以很简单的从一个数组中取出最大的那个值:

Array.prototype.max = function () {

return Math.max.apply({},this);

}

var arr = [1,45,23,3,6,2,7,234,56];

arr.max(); // 234

测试用例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值