最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

codewar每日小练习

来源:动视网 责编:小采 时间:2020-11-27 20:19:18
文档

codewar每日小练习

codewar每日小练习:Instruction:x Simple, given a string of words, return the length of the shortest word(s).String will never be empty and you do not need to account for different data types.根据描述,这里
推荐度:
导读codewar每日小练习:Instruction:x Simple, given a string of words, return the length of the shortest word(s).String will never be empty and you do not need to account for different data types.根据描述,这里


Instruction:

x Simple, given a string of words, return the length of the shortest word(s).

String will never be empty and you do not need to account for different data types.

根据描述,这里不要求判断是否为空和数据类型,所以就放心大胆的写出一段话中最短字体的长度了

刚开始我是这么写的:

1 function findShort(s){2 var arr = s.split(' ').map(function(t){return t.length});3 return Math.min.apply(null,arr);4 }

这里主要还是在用ES6之前的代码写法,有4个知识点:

1,string.split(' ')

split() 方法用于把一个字符串分割成字符串数组。这个方法简单易懂,不赘述。

2,Array.map()

map()方法创建一个新数组,它会给原数组中的每个元素都按顺序调用一次callback函数,callback每次执行后的返回值形成一个新数组。

参考链接:请点击这里

3,Math.min()

给定数值中最小的数。若任一参数不能转换为数值,则返回NaN。

参考链接:请点击这里

3,apply()

在调用一个存在的函数时,你可以为其制定一个this对象。this指当前对象,也就是调用这个函数的对象。使用apply,可以只写一次这个方法然后在另一个对象中继承它,而不用在新对象中重复写该方法。

参考链接:请点击这里

后来参考了其他人的解决方法,codewar里多得是有牛人能用一行就能把功能写出来的,下面就是一种:

1 function findShort(s){2 return Math.min(...s.split(' ').map(w=>w.length));3 }

这里主要运用到了ES6的两个新的知识点,虽然之前也有学习过ES6,因为没有实操经验,在此复习一下:

1,(...)是扩展运算符,在这里可替代数组的apply方法,用于展开数组,将数组转为函数的参数。

// ES5的写法Math.min.apply(null, [14, 3, 77])// ES6的写法Math.min(...[14, 3, 77])// 等同于Math.min(14, 3, 77);

参考链接:请点击这里

2,箭头函数 (=>)

var f = v => v;//等同于var f = function(v) { return v;
};//如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。var f = () => 5;// 等同于var f = function () { return 5 };var sum = (num1, num2) => num1 + num2;// 等同于var sum = function(num1, num2) { return num1 + num2;
};

箭头函数使得表达更为简洁。

详细了解请点击这里

附:codewar-该习题练习地址

文档

codewar每日小练习

codewar每日小练习:Instruction:x Simple, given a string of words, return the length of the shortest word(s).String will never be empty and you do not need to account for different data types.根据描述,这里
推荐度:
标签: 每日 练习 codewars
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top