reduce五个参数
第一个参数:per若规定五个则第五个为per若无规定则为数组第一项
第二个参数:item若规定per为数组第一项则item为数组第二项 若设置了第五个参数值 则item为数组第一项
第三个参数:item的索引值
第四个参数:原数组
第五个参数:初始值
return值作为pre的下一次值
若reduce函数过程中无console.log则返回值为遍历最后一次返回的值
<body>
<script>
var arr = [1, 2, 3]
console.log(
arr.reduce(function(pre, item, index) {
console.log(pre, item, index)
return item
})
)
</script>
</body>
若无return值则结果为
<body>
<script>
var arr = [1, 2, 3]
console.log(
arr.reduce(function(pre, item, index) {
console.log(pre, item, index)
return item
}, 100) //此处的100为第五个参数值 pre
)
</script>
</body>
<body>
<script>
var arr = [1, 2, 3]
console.log(
arr.reduce(function(pre, item, index) {
console.log(pre, item, index)
return pre + item
}, 0)
// 累加器 pre初始值为0 返回的pre+item为和 index每次加一 执行完整个元组 则所有数字加到一起作为最后一个pre值
)
</script>
</body>
字符串累加
<body>
<script>
var arr = ['a', 'b', 'c']
console.log(
arr.reduce(function(pre, item, index) {
console.log(pre, item, index)
return pre + item
}, '')
)
</script>
</body>