如果遇到一个试题是这样。
function sum(arr){ //求和 }
你会怎么做?
反正我第一反应是这样做。
function sum(arr){ var result = 0; for(var i in arr){ result += arr[i]; } return result; }
然而直到昨天我才发现大神的另一种极简做法。
function sum(arr) { return eval(arr.join('+')); }
一句话OK,是不是很厉害。
简单解读下。
join函数就不用解释吧,拼接字符串。这里用join把传入的数组拼接成用“+”号连接的字符串。然后用eval函数计算拼接后的字符串。
这样做极大的节省了内存,且在计算时间大大缩短。