본문 바로가기
JavsScript

배열 합치기 reduce

by applejune 2022. 2. 20.

/************************
arr.reduce()

/******************************

//배열의 모든 수 합치기

//for, for of, forEach 

let arr=[1,2,3,4,5,6,7]; 


let result =0;
arr.forEach((num) => {
  result +=num;
});
console.log(result);  

//출력 ; 28

//************************8
arr.reduce()
인수로 함수를 받는다
(누적 계산값, 현재값) => {return 계산값} ; 
/******************************

let arr=[1,2,3,4,5,6,7]; 

const result = arr.reduce((prev,cur)=>{
  return prev+cur;
},0);  //0은 초기값. 100을 넣으면 100부터 시작.
  
console.log(result);
//출력 ; 28

 



//성인만을 골라서 나열
let userList=[
  {name : "John", age : 19} ,
  {name : "jobs", age : 50},
  {name : "memi.k", age : 33} ,
  {name : "jimi", age : 28},
  {name : "Jo", age : 16} ,
 ];

let result = userList.reduce((prev, cur)=> {
  if(cur.age>19) {
    prev.push(cur.name)
  }
  return prev;
}, []);
console.log(result);




//나이의 합을 구함

let userList=[
  {name : "John", age : 20} ,
  {name : "jobs", age : 50},
   {name : "mem", age : 33} ,
  {name : "jimi", age : 28},
   {name : "Jo", age : 16} ,
 ];

let result = userList.reduce((prev, cur)=> {
  
  return (prev += cur.age);
}, 0);
console.log(result);

//이름이 세 글자인 사람을 찾으면 


let result = userList.reduce((prev, cur)=> {
  if(cur.name.length ===3) {
  prev.push(cur.name);
  }
  return prev;
}, []);
console.log(result);


//배열 우측부터 연산을 하려할 때, arr.reduceRight();