1
luikore 2013 年 10 月 4 日
9 minutes, 0 seconds
最后一题判断 array type 用了点 hack... |
2
luikore 2013 年 10 月 4 日
如果是 coffee 就可以快很多, 后面的问题可以一个 list comprehension 写出来
|
3
darcy 2013 年 10 月 4 日
17 minutes
话说这才提醒我快1年没写过JavaScript了。 |
4
zhujinliang 2013 年 10 月 4 日
6 minutes, 1 seconds for all 5 levels. Well done!
主要时间浪费在读题以及解决实际跑的过程中遇到的意外,两三道题中题目本身未涉及类型判断问题,一开始我就没做判断,结果测试时给了意外的类型,还得修改代码 |
5
angelface 2013 年 10 月 4 日
我很喜欢这个编辑器
|
6
justfly 2013 年 10 月 4 日
8分56秒
判断数组 可耻的用了 google |
7
dongsheng 2013 年 10 月 4 日
17,忘记javascript的正则怎么写了 -_-
|
8
windylcx 2013 年 10 月 4 日
8 分多..打开控制台调试了多次.面壁去.
|
11
mengzhuo 2013 年 10 月 4 日
最后一题不是用递归?
``` if (typeof(i[s]) =='object'){ sum += arraySum(i[s]); } ``` 6 minutes, 43 seconds for all 5 levels. Well done! |
12
mengzhuo 2013 年 10 月 4 日
体会是:
果然Python写多了…… JS功力不如当年了…… 思路也渐渐和Python靠拢了 |
13
luin 2013 年 10 月 4 日
3分多,扩展名那道题忘了 js 里咋用正则了,直接用了 indexOf,看 9 楼发现其实自己写错了,不过没被发现= =
|
14
qiukun 2013 年 10 月 4 日
typeof [1, 2, 4] === 'object'; // use Array.isArray or Object.prototype.toString.call to differentiate regular objects from arrays
|
15
binux 2013 年 10 月 4 日
7 minutes, 28 seconds
大部分时间在读题。。判断是否是字符串很可耻地 if (e.split) 。。。 |
16
zhujinliang 2013 年 10 月 4 日
|
17
pepsin 2013 年 10 月 4 日
擦,好多函数名压根忘了,我居然还是个前端。。。
|
18
sivacohan PRO 我会说我最后一道题查了手册还搞了9分钟嘛……
最后用了parseInt…… |
19
efi 2013 年 10 月 4 日
7分半。文件后缀的字符串操作完全不记得api是啥,是rindex还是rstrchr来着,暴力循环做。最后一题递归的时候循环变量忘记var结果查了一会。
|
20
nixzhu 2013 年 10 月 4 日
第五题花比较久的时间,重做了一遍,顺便抄录下来。这好像就是写C的人会写出的风格,没有花哨的东西。最后一题取巧了一点:
第一题: function doubleInteger(i) { // i will be an integer. Double it and return it. return i+=i; } 第二题: function isNumberEven(i) { // i will be an integer. Return true if it's even, and false if it isn't. return i%2 == 0; } 第三题: function getFileExtension(i) { // i will be a string, but it may not have a file extension. // return the file extension (with no period) if it has one, otherwise false var l = i.split('.'); if (l && l.length > 1) { return l[l.length-1]; } else { return false; } } 第四题: function longestString(i) { // i will be an array. // return the longest string in the array var str =''; for (var x=0; x < i.length; x++) { if (typeof i[x] === 'string' && i[x].length > str.length) { str = i[x]; } } return str; } 第五题: function arraySum(i) { // i will be an array, containing integers, strings and/or arrays like itself. // Sum all the integers you find, anywhere in the nest of arrays. var sum = 0; for (var x=0; x < i.length; x++) { if (!(typeof i[x] === 'string')) { if (i[x] instanceof Array) { sum += arraySum(i[x]); } else { sum += i[x]; } } } return sum; } |
22
Hyperion 2013 年 10 月 4 日
8 minutes, 29 seconds. 我可耻的用了这种东西, 好羞耻. 没有语法提示, 实在是想不起来正则之外那几个搜索字符串的函数怎么拼了... 45s猥琐解决...
test = i.match(/.*\.(\w+)/); return test?(test[1]?test[1]:false):false; 最后一题, 除了递归还有啥解决办法吗? |
24
mengzhuo 2013 年 10 月 4 日
|
25
breeswish 2013 年 10 月 4 日
扩展名我直接lastIndexOf
判断是否整数直接上了parseInt(x) === x …… @Hyperion 最后一题还可以这样写,是无递归的~ function arraySum(i) { // i will be an array, containing integers, strings and/or arrays like itself. // Sum all the integers you find, anywhere in the nest of arrays. sum = 0; arr = JSON.parse('[' + JSON.stringify(i).replace(/[\[|\]]/g, '') + ']'); arr.forEach(function(v) { if (parseInt(v) === v) sum += v; }); return sum; } |
27
zhujinliang 2013 年 10 月 4 日
@mengzhuo .reverse()[0] 仅相当于 .pop(),无法正确处理类似 'aabbcc' 这样没有扩展名的情况
|
28
tangzx 2013 年 10 月 5 日
Eich, Douglas Crockford, Ada, 还有一个被黑的是谁?
|
29
kavinyao 2013 年 10 月 5 日
14 minutes, 23 seconds for all 5 levels. Well done!
|
30
kavinyao 2013 年 10 月 5 日
@nixzhu 第五题有两个问题:1. !(typeof i[x] === 'string') 不够健壮,object检测不出就不说了,浮点数呢? 2. 无法处理递归引用,例如var a =[1];a[1] = a; 你感受下……
|
31
s 2013 年 10 月 5 日 via Android
我蛋疼地用手机撸了半个小时!
晚上回家贴答案。 |
32
otakustay 2013 年 10 月 5 日
6分钟,最后一题玩reduce玩脱,好好写for循环估计4分钟能搞定
|
33
s 2013 年 10 月 5 日 via Android
灰大,reduce可以的。
|
34
s 2013 年 10 月 6 日
第一题
function doubleInteger(i) { return i*2; } 第二题 function isNumberEven(i) { return !(i%2); } 第三题 function getFileExtension(i) { i = /\.(\w+)$/i.exec(i); return i && i[1] || false; } 第四题 function longestString(i) { return i.sort(function(a, b){ if(typeof a!=='string') return 1; if(typeof b!=='string') return -1; return b.length-a.length; })[0]; } 第五题 function arraySum(i) { return i.reduce(function(sum, next){ next = next.map ? arraySum(next) : next.toFixed ? next : 0; return sum+next; }, 0); } |
35
lyric 2014 年 2 月 16 日
5 minutes, 46 seconds
|