| $ reduce常见用法 |
| |
| 1.求数组项之和 |
| /** |
| * @param {type} reduce I am argument function. |
| */ |
| let arr2 = [1, 2, 3, 4, 5, 2, 3] |
| let sum = arr2.reduce(function (prev, cur) { |
| return prev + cur |
| }, 0) |
| //console.log(sum) |
| //由于传入了初始值0,所以开始时prev的值为0,cur的值为数组第一项1,相加之后返回值作为下一轮回调的prev值,然后再继续与下一个数组项相加 |
| |
| 2.求数组最大值 |
| let max = arr2.reduce(function (prev, cur) { |
| return Math.max(prev, cur) |
| }) |
| //console.log(max) |
| |
| //由于未传入初始值,所以开始时prev的值为数组第一项,cur的值为数组第二项,取两值最大值后进入下一轮回调。 |
| |
| 3.数组去重 |
| |
| let newArr = arr2.reduce(function (prev, cur) { |
| if (prev.indexOf(cur) == -1) { |
| prev.push(cur) |
| } |
| return prev |
| }, []) |
| // console.log(newArr) |