函数式程序设计:「20] 应用函数式编程将字符串转换为 URL

Posted 路条编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式程序设计:「20] 应用函数式编程将字符串转换为 URL相关的知识,希望对你有一定的参考价值。

欢迎关注路条编程网站,本专题将教您函数式编程的原则、编程术语、避免函数中的外部依赖、重构全局变量、使用 map、filter 方法从数组中提取数据、使用 slice、 concat、reduce 方法来解决复杂问题等。

应用函数式编程将字符串转换为 URL


最后几篇文章涵盖了许多符合函数式编程原则并在处理数组和字符串中非常有用的方法。我们还学习了强大的、可以将问题简化为更简单形式的 reduce 方法,从计算平均值到排序,任何数组操作都可以用它来实现。回顾一下,map 和filter 方法都是 reduce 的特殊实现。


现在是时候让我们把学到的所有知识结合起来解决一个工作中的实际问题了。


许多内容管理系统(CMS)为了让添加书签更简单,会将帖子的标题添加到 URL 上。举个例子,如果写了一篇标题为 "如何使用路条编程学习编程" 的帖子,URL 很可能会包含标题字符串的某种形式 (如:".../learn/如何使用路条编程学习编程"),如果您已经在路条编程网站上做过练习,您可能已经在 www.icoderoad.com 网站上注意到了这一点。


下面我们做个完整的练习,定义一个 titleToUrl 的方法,该方法包含一个参数 title,该方法将字符串 title 转换成带有连字符号(-)的 URL。您可以使用之前文章中介绍的任何方法,但不要用 replace 方法。

以下是该方法的详细要求:


title 参数为包含空格和标题大小写单词的字符串


方法返回字符串,单词之间的空格用连字符(-)替换


方法返回值应该是小写字母


方法返回值不应有任何空格


具体实现代码如下所示:


function titleToUrl( title ){ return title .split(" ") .filter(substr => substr !== "") .join("-")    .toLowerCase();
}
console.log( titleToUrl("hi kevin welcome to icoderoad") );// => hi-kevin-welcome-to-icoderoad


经过以上代码的方法定义和执行结果可知,方法 titleToUrl 返回的字符串满足以上要求。


今天就讲到这里,如果有问题需要咨询,大家可以直接留言或扫下方二维码关注公众号。也可以添加 happyzjp 微信受邀加入学习社群,我们会尽力为你解答。练习网站已经正式上线,大家可以登陆网站 http://www.icoderoad.com 进行文章中示例的练习。

函数式程序设计:「20] 应用函数式编程将字符串转换为 URL

作者:路条编程(转载请获本公众号授权,并注明作者与出处)


以上是关于函数式程序设计:「20] 应用函数式编程将字符串转换为 URL的主要内容,如果未能解决你的问题,请参考以下文章

(转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)

轻松玩转函数式编程

函数式编程

javascript 函数式编程

(转)Python函数式编程——map()reduce()

javascript函数式编程简单介绍