有个问题如下:
现有数组 let arr=[1,2,3,4];
需要计算出arr内所有值的和
解答方法1:
let arr=[1,2,3,4];
let tmp=0;
for(var i=0;i<arr.length;i++){
tmp+=arr[i]
}
这个问题的解决并不难
但是看上面的代码,
tmp这个变量是没必要存在的完成就是个中介,用完就扔了。
还有在for里面使用var同样会带来副作用
同时这里还多了一个for遍历。
"我应该在哪来曾经看过这个问题的解决方案,但是我怎么也想不起来,到底在哪里见过。
我也曾经碰到过这个问题,最后还是向时间妥协,然后就忘记了这个茬....
有个现实的情况,如果你遇到了问题,而且你没有解决它,后面它依旧会不断的出现。而且往往是在紧要关头出现。
很遗憾,当初为什么不解决掉它。后悔当初~~~~的确不该。"
有时候真的有这种切肤之痛。。。。
今天面试的时候遇到了这个问题,,,,,,(⇀‸↼‶)......................
好吧其实这就是个ES6 API的问题。。但是阮老师的书里面貌似没有提及到他,那问题来了,之前我到底哪里看到过的。。。。
贴下代码如下:
sum = [1, 2, 3, 4, 5].reduce(function(prev, cur, index, arr) {
return prevres + cur;
})
先推荐一个很好的网站:MDN
这次我是在这个网站下的
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Polyfill
找到答案的,路径有点长。。。
里面还提供了好多ES6的实现方法(Polyfill),包括reduce
ES6语法现在基本上都是语法糖,执行的还是传统ES3的代码,但是不需要质疑的是ES6的确给开发和代码管理带来了许多遍历
我觉得接下来几天的时间都要献给它了