题解 | #数组排序#
Array.reduce
http://www.nowcoder.com/practice/213d0ef21cb841de8cf69fcc5ea60eb6
arr.reduce((prev, cur) => {
return left + right
}, 0)
// 补全代码,简单实现Array.reduce方法:
Array.prototype._reduce = function(callback, start) {
let prev
if(start === undefined) {//可能未初始值参数,如果未传参就是默认初始值为0
prev = 0
} else {
prev = start
}
for (let i = 0; i < this.length; i++) {//其实this就是指调用的那个数组
prev = callback(prev, this[i])//调用传过来的回调函数,会返回prev + this[i]的和然后重新赋值给prev,这样就实现了数组前面项元素的和
}
return prev
}
console.log([1,3,4]._reduce((prev, cur) => {
return prev + cur
}, 0))