【启发】不用循环计算1到100的和
作者:yemoo 来源:yemoo博客 时间:2009-03-04 12:16:00
这篇日志完全是看了一篇日志后的启发,原文为: * 的eval和new Function。
很少使用new Array的方式来定义数组,没想到new Array有这么一个妙用,通过new Array(n)我们可以创建n个空元素,同时也就在n个元素中间存在n-1个空白,通过join,我们可以将一些东西放在这些空白中间从而组成我们需要的特殊串,这不禁启发了我的灵感,这个特点可以使我不通过循环就可以很容易的实现一个“有规律元素的连续运算”。
比如计算1-100的数值的和。以往我们需要从1循环到100然后求和,但利用数组的这个特性我们可以通过简单的一行代码搞定,代码如下:
var i=0,sum=eval('0'+new Array(101).join('+(++i)'));
此外可以做很多类似的数学运算,比如以下几个
eval('0'+new Array(11).join('+Math.pow(++i,2)')) //计算1-10的平方和
eval('0'+new Array(100/2).join('+(i+=2)')) //计算2+4+6+...100的和
这些我们以往都通过循环进行的计算,现在都可以一行代码巧妙搞定,不得不叹服编程语言隐含的灵巧,编程的世界总有太多的东西等待我们去发现。学无止境,努力吧!
标签:循环,Array,join,js
0
投稿
猜你喜欢
DW MX新功能试用:嵌套模板
2008-02-03 11:35:00
asp代码WinHttp.WinHttpRequest.5.1使用例子
2010-03-11 21:28:00
一个asp伪静态的程序实现方法
2010-06-28 18:56:00
文案是网站的性格
2009-09-02 13:05:00
asp开发Wap中的随笔
2008-05-21 12:56:00
图片格式与设计那点事儿
2011-01-06 12:17:00
安装了Office2003补丁之后,access不能用,打不开了
2011-05-12 12:19:00
asp函数解决SQL注入漏洞
2008-10-12 19:53:00
解析:轻松掌握在 Mac OS X中安装MySQL
2009-01-14 11:51:00
SQL Server保障数据一致性的法宝
2008-12-26 15:21:00
解读HTML:命名空间与字符编码
2008-12-10 14:03:00
HTML编辑器FCKeditor使用详解
2010-02-28 12:30:00
asp显示字符串前5个文字
2008-08-10 18:47:00
使用游标进行PHP SQLSRV查询的方法与注意事项
2023-05-22 10:51:10
css中使用CLASS来设计网页布局
2007-10-30 13:01:00
微软补丁KB967723造成MySQL频繁无法连接
2009-11-03 14:28:00
比较简单的异步加载JS文件的代码
2009-07-06 13:13:00
XML的简单读取与写入
2008-09-04 10:35:00
细化解析:SQL Server 2005 数据库镜像
2009-01-23 13:41:00
解读MySQL的InnoDB引擎日志工作原理
2011-01-04 19:59:00