본문 바로가기
코플릿 기록/JavaScript

고차함수32번

by 뭉지야 2023. 1. 15.
728x90

#문제

2차원 배열(배열을 요소로 갖는 배열)을 입력받아 모든 수(number)의 합을 리턴해야 합니다.

합을 구할 때 number 타입만 고려해야 합니다.


#예시

let output = sumOfArraysInArray([
  [1, 2],
  [undefined, 4, '5'],
  [9, 'hello'],
]);
console.log(output); // --> 16

#정답

function sumOfArraysInArray(arr) {
  //배열안에 배열
  //이건 일단 배열을 다 합쳐서 하나의 배열로 만들자
  
  let newarr = arr.reduce((acc, cur) => acc.concat(cur));

  return newarr.reduce((acc, cur) => {
    if (typeof cur === 'number'){
      return acc+cur;
    }
    return acc;
  }, 0)
}
function sumOfArraysInArray(arr) {
return arr.reduce((acc, curr) => acc.concat(curr), [])
.filter(item => typeof item === 'number')
.reduce((acc,curr) => acc+curr, 0);
}
function sumOfArraysInArray(arr) {
return arr.reduce((acc, cur) => {
  return acc.concat(cur);
}).filter(el => typeof el === 'number').reduce((acc,cur) => acc + cur, 0);
}
728x90

'코플릿 기록 > JavaScript' 카테고리의 다른 글

반복문 7번  (1) 2023.01.16
데일리코딩3 (거듭제곱문제)  (0) 2023.01.16
고차함수 31 ★★★  (0) 2023.01.15
고차함수 30번  (0) 2023.01.15
고차함수 29번  (0) 2023.01.15