filter가 아무것도 걸러내지 못하는 경우
111
작성한 질문수 7
function FlatEvaluation(evaluation: Array<[string, { score: number }]>) {
return pipe(
evaluation,
filter(([key]) => key !== "overallAssessment"),
map(([key, value]) => ({ key: key, score: value.score }))
);
}
function findPros(evaluation: { [x: string]: { score: number } }) {
return pipe(
Object.entries(evaluation),
FlatEvaluation,
filter((item) => item.score >= 80),
reduce((item, acc) => (item.score > acc.score ? item : acc)),
(item) => item.key
);
}
// A의 경우
findPros({ a: { score: 90 }, b: { score: 85 }, c: { score: 75 } })
// B의 경우
findPros({ a: { score: 70 }, b: { score: 65 }, c: { score: 75 } })
안녕하세요 선생님 강의 잘 듣고 있습니다. 다름이 아니라 한 가지 궁금한 점이 있어서 이렇게 질문을 드립니다 (나중에 뒤에 가서 이 문제에 대한 해답이 나오거나, 이미 앞에 이런 문제에 대한 해결 방법이 나왔다면 참 부끄러워질 거 같긴 합니다)
다름이 아니라 FxTS를 사용해 기존의 프로젝트 일부를 함수형으로 리팩토링 해보고자 하는 중이었습니다. { [x: string]: { score: number } } 타입의 객체를 인자로 받아 제일 고득점을 한 인원의 이름(key)를 리턴해야 합니다.
A의 경우 80점 이상의 득점자가 두 명이 있고, 그 중 더 높은 득점을 한 a의 이름이 잘 리턴됩니다.
그런데 B의 경우 80점 이상의 득점자가 하나도 없다보니 filter가 적절한 값을 리턴하지 못해 reduce에서 에러가 납니다.
이런 경우에는 어떻게 처리하는 게 옳을지 궁금합니다.
답변 1
프론트엔드 실무에서 어떤때에 쓰이는지 궁금합니다
1
111
1
함수형 프로그래밍 심화 강의 자료 추천
0
72
2
함수형 자바스크립트 프로그래밍 책
0
52
1
take 함수의 성능적면에서의 이점
1
463
1
pipe함수
1
530
1
Identity 함수
0
450
1
함수형 프로그래밍이란
0
831
1
reduce 예제 코드 제안!
0
403
1
fxts를 배워보려고 합니다.
1
537
1
flatMap 관련 질문드립니다~
1
444
1
다용성이 높은 L.flatMap
0
357
1
변수에 재 할당 금지~
0
540
1
DevTools라고 옆에 결과 확인하는거 어떻게 하나요?
0
482
2
소요시간에 관해서 질문드립니다
1
457
1
join에 대한 내용이 궁금증이 해결되지 않아서 질문드립니다!
0
465
2
reduce에 L.range를 사용할 때
0
526
2
[이해내용 공유] Lazy 에서 C.reduce가 병렬 효과를 내는 이유
3
738
2
제가 이해한 C.Reduce와 Reduce의 동작 차이 정리
2
787
3
go, pipe 함수 관련하여 질문 드립니다.
1
497
1
안녕하세요 강사님!
0
377
2
fxts에 go가 없는 이유?
0
837
1
비동기 관련 질문입니다!
0
457
1
질문 있습니다.
0
514
1
강의 중 혼란스러운 부분이 생겨 질문 드립니다.
0
543
2





