Array.prototype.reduce()用法的一个有趣实例

318 阅读1分钟
有一个数组arr["aaa","bbb","ccc","ddd"],如何得到新数组[aaa/,aaa/bbb/,aaa/bbb/ccc/,aaa/bbb/ccc/ddd/]?

function alterArr(arr){  
return arr.reduce(function(pre, cur, index,arr){ 
pre.push( (pre[index-1]===undefined ? "":pre[index-1]) + cur + "/")    
return pre  
}, [])
}
let newArr = alterArr(["aaa","bbb","ccc","ddd"]);
console.log(newArr.toString());//aaa/,aaa/bbb/,aaa/bbb/ccc/,aaa/bbb/ccc/ddd/