array 메서드인 리듀스에 대해 알아보자
파라미터
//Form
arr.reduce( (accVal, currVal, currIdx) => {...return}, InitialVal )
arr = [1,2,3,4]
//ex1.
arr.reduce( (acc, cur, curIdx) => {return acc += cur} , 0 )
//반환값 : 10
//ex2.
arr.reduce( (accVal, curVal, curIdx) => {return acc += (curVal +curIdx), 0)
//반환값: 16
//ex3.
arr.reduce( (acc, cur, curIdx) => {return acc += cur} , 5)
//반환값 : 15
// objArr_1. 객체를 저장한 배열로 reduce 누적합 활용
const obj =[{quntity: 1},{quntity: 2},{quntity: 3}]
const total =obj.reduce((acc,cur)=> acc+cur.quntity,0)
console.log(total) // 6
//objArr_2.
const order =[
{price:1000,amount:4},
{price:2000,amount:3},
{price:3000,amount:2},
{price:4000,amount:1},
]
const total = order.reduce((acc,cur)=> acc+(cur.price)*(cur.amount),0)
console.log(total)//20000
const names =['sewon','yejin']
const result=names.reduce((acc,cur)=>{
acc[cur]=cur
return acc
},
{})
console.log(result) //{ sewon: 'sewon', yejin: 'yejin' }
ref:
0.https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
1. https://miiingo.tistory.com/365
2. https://velog.io/@yunsungyang-omc/JS-map-reduce-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0
3. https://velog.io/@shin6403/Javascript-%EC%A3%BC%EC%9A%94-%EB%A9%94%EC%86%8C%EB%93%9Cruduce-%EB%B0%8F-%EC%98%88%EC%A0%9C