codewars 随手记
2015-08-26 08:57
260 查看
1.ES6数组遍历语法糖=>
在C#Linq里曾经用过,因此也不是很陌生.
运用了apply填充空数组的方法。
apply运用在数组上还有:将一个数组传递给一个不接受数组作为参数的函数、扁平化二维数组(e.g.函数参数里有数组)。
2.使用递归求平方和:
在x为1000的时候,提示stack overflow。
于是改用尾递归:
codewars后台没有报错。但是,看了一些文章(e.g.http://bbs.csdn.net/topics/390317532)后发现,尾递归依旧逃不过stackoverflow的问题。实际测试了一下,在上述两个函数cal(30000)都会报错。
3.稀疏数组
稀疏数组在遍历时会跳过“空元素”。暂时没想到办法。
js的数组其实是字符串和值的键值对。只是一个特殊的对象。
在C#Linq里曾经用过,因此也不是很陌生.
var range = Array.apply(null, Array(x)).map((_, i) => ++i);
运用了apply填充空数组的方法。
apply运用在数组上还有:将一个数组传递给一个不接受数组作为参数的函数、扁平化二维数组(e.g.函数参数里有数组)。
> Math.max.apply(null, [10, -1, 5]) 10
2.使用递归求平方和:
function cal(x){ return x==1?1:(cal(x-1)+x*x); } >cal(10)
在x为1000的时候,提示stack overflow。
于是改用尾递归:
function cal(x,y){ return x==0?1:(cal(x-1,x*x)+y) ; } >cal(10,0) 385
codewars后台没有报错。但是,看了一些文章(e.g.http://bbs.csdn.net/topics/390317532)后发现,尾递归依旧逃不过stackoverflow的问题。实际测试了一下,在上述两个函数cal(30000)都会报错。
3.稀疏数组
[,,].every(function(x){return x==22222}) true
稀疏数组在遍历时会跳过“空元素”。暂时没想到办法。
js的数组其实是字符串和值的键值对。只是一个特殊的对象。
相关文章推荐
- 第四篇 Integration Services:增量加载-Updating Rows
- Buffer创始人谈开发:先验证,后开发!
- ImportError at /polls cannot import name patterns
- Hibernate中两种获取Session的方式
- C++中的static关键字的总结
- Dungeon Game
- 微软EV代码签名证书
- 技术人员如何提升自己的价值
- UItableView 的cell 自适应高度
- Java IO流
- ORACLE EBS常用表
- JQuery Mobile 简单入门引导
- redis视频教程下载
- Gephi——如何在geolayout布局下加上地图背景
- iOS开发系列之Objective-C基础:NSString字符串类型(二)
- hdu4267--A Simple Problem with Integers(树状数组)
- iOS label 加下横线
- 如何永久关闭选项"Tools > Close Other Forms"
- 转牛逼公司小头目的炫富生活
- VC 编译 设置 代码合集