code war每日小练习
Jun 23, 2017 pm 01:56 PMInstruction:
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-该习题练习地址
Atas ialah kandungan terperinci code war每日小练习. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
