codewars 随手记

1.ES6数组遍历语法糖=>

  在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的数组其实是字符串和值的键值对。只是一个特殊的对象。

时间: 2025-01-08 07:27:07

codewars 随手记的相关文章

随手记(二)

首先一个随手记app需要一个登陆注册功能,而androidstudio自带的sqllite就起到了很强大的作用. 1.用户登陆界面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&quo

[转]灯灯小程序开发手记:仿今日头条(上)

本文转自:http://www.jianshu.com/p/a1e0b8abb12d 写在前面 新的一年,祝大家新年快乐!当然对于程序员来说,新的一年,也要有新的改变.因此灯灯决定凑热闹编写微信小程序啦! 上一篇文章<记一次小程序开发过程>中,灯灯大致写了下自己第一次开发小程序的感受和流程.这一次灯灯会详细记录下自己制作一个小程序的思路.遇到的问题.涉及到的代码等和大家分享.    视频教程地址:http://study.163.com/course/introduction.htm?cour

[小北De编程手记] : Lesson 08 - Selenium For C# 之 PageFactory &amp; 团队构建

本文想跟大家分享的是Selenium对PageObject模式的支持和自动化测试团队的构建.<Selenium For C#>系列的文章写到这里已经接近尾声了,如果之前的文章你是一篇篇的读下来并动手实践的话,我相信你应该可以模拟日常工作中80%常见的手动测试用例了.请注意:我的用词是模拟用例,而不是书写自动化测试用例.一个企业级的自动化测试的构建不是单靠Selenium一种技术就能Hold住的.所谓模拟指的是只能实现自动化的某个Case,但是不能工程化的使用.在本人所接触过几家公司的自动化测试

[小北De编程手记] : Lesson 01 - Selenium For C# 之 环境搭建

在我看来一个自动化测试平台的构建,是一种很好的了解开发语言,单元测试框架,自动化测试驱动,设计模式等等等的途径.因此,在下选择了自动化测试的这个话题来和大家分享一下本人关于软件开发和自动化测试的认识.刚刚开通了博客,就从最基础的开始吧,算是写给初学者的编程手记,也算是给对自动化完全不了解的小伙伴开个头.时间允许的话会坚持更新下去... ... 后续的文章计划会谈到一些企业级自动化测试平台的构建(但愿有时间完成哈~~). 关于自动化测试的框架,网上有很多相关的对比,在这里我我就不评论和对比了.本人

让项目管理理论&ldquo;落地&rdquo;&mdash;&mdash;读《IT项目经理成长手记》有感

最近利用业余时间阅读了一本好书--<IT项目经理成长手记>(潘东.韩秋泉著).本书的两位作者是神州数码(中国本土最大的整合IT服务提供商)的高管,在书中他们介绍了神州数码在IT项目管理领域积累的实践做法和工作思路.本书从IT项目经理面临的真实问题和场景出发,将一个项目管理实践者所亲历的案例整理成"手记",如实地记录下问题解决方法和收获的经验教训. 读完此书,结合科研项目管理的现状,进行了一些思考.在此,将思考后的感想分享. 一.量化指标,使项目状态透明化 书中提出了一个让人

大叔手记(1):使用VisualStudio的查找与替换替代默认的系统搜索(转载)

大叔手记(1):使用VisualStudio的查找与替换替代默认的系统搜索 一直以来,一直使用Visual Studio的查找与替换(Find and Replace)来搜索当前项目或整个解决方案里的代码,从来没怎么注意右边的那个选择文件夹功能. 原来还可以选择非解决方案的文件夹,而且试用了一下,速度明显比默认的系统搜索功能快,尤其是在阅读.NET4.0源码的时候,效果真是高啊. 大叔手记:旨在记录日常工作中的各种小技巧与资料(包括但不限于技术) 原文链接 本文由豆约翰博客备份专家远程一键发布

myeclipse 10 +Axis2 1.62 开发WebService手记

由于临时需求,不得不用java来开发一个webservice,之前对java webservice一片空白.临时查资料,耗费近一天,终于搞定,效率是慢了点.呵呵. 首先 配置Tomcat 中WebService解析容器,下载Axis2-1.6.2 注意分别下载 红框的两个文件   其中注意将 axis2-1.6.2-war.zip 中axis2.war解压出 ,放到tomcat 中 webapps中,然后在浏览器中输入http://localhost:8080/axis2/ 测试容器是否成功.(

[分享]源代码&amp;开发手记:SAE应用“车百科” (Python + SAE + Bottle + Bootstrap) - Bottle - Python4cn(news, jobs)

[分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap) - Bottle - Python4cn(news, jobs) [分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap)[分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap) -

随手记(一)(六)

补上之前放在草稿箱忘记发的一,到现在也算是对这个结对项目的总结. 首先是他的结构图 他总共有这么几个功能,用户通过注册登录来进入到随手记中,然后首先出现的会是账户总界面,像余额还有多少.当月的支出.当月的收入.其次通过滑动可到计划详情中,可看到详细的计划. 第三当滑动到多计划的主题中,你可以看到像记一笔,计一划,想查看的账单和你的收支统计的图,你还可以导出你的数据.在记一笔中又有事件类型,时间,费用,备注这些东西来方便你记录,通过账单来显示到你的东西,就像下图所示. 在计一划中,你可以对你的早上