一个js的语法糖

qq1119753812 2013-04-24 09:52:04
var arr = [1,2,[3,4],[[5,6],[7,8]]];
怎么把里面的数字求和

一般来说,我们想到的是
var count = 0;
function getSum(obj){
/**
j(obj).each(function(k,v){
if(typeof v == 'number')
count += v;
else
getSum(v);
})
*/

for (var i in obj) {
if(typeof obj[i] == 'number')
count += obj[i];
else
getSum(obj[i]);
};
}

getSum(arr);
alert(count);


但是我们还有更简单的
var arr = [1,2,[3,4],[[5,6],[7,8]]];

alert(eval((arr+'').replace(/[^\d]+/g,'+')))

呵呵

最后发个js新人的福利贴:
2个学习地址
http://www.w3school.com.cn/js/index.asp
http://www.codecademy.com/zh/tracks/javascript
...全文
145 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
三石-gary 2013-04-25
  • 打赏
  • 举报
回复
天镶 2013-04-25
  • 打赏
  • 举报
回复
感谢楼主散分

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧