자바스크립트
[javascript]fillter - 각도기(프로그래머스)
슈크림 붕어빵
2023. 7. 6. 02:28
function solution(angle) {
var answer = 0;
if(angle<90)
answer = 1;
else if (angle==90)
answer = 2;
else if (angle<180)
answer=3;
else if (angle==180)
answer = 4;
return answer;
}
나는 이렇게 하나하나 짰으나, 신선하고 간결한 있어서 가져와봤다.
function solution(angle) {
return [0, 90, 91, 180].filter(x => angle>=x).length;
}
- .filter(x => angle >= x)는 주어진 배열에서 angle보다 작거나 같은 값을 찾기 위해 filter() 메서드를 사용합니다. filter() 메서드는 배열 요소를 순회하면서 주어진 조건을 만족하는 요소만을 필터링하여 새로운 배열을 반환합니다.
- .length는 filter() 메서드를 통해 반환된 새로운 배열의 길이, 즉 주어진 각도보다 작거나 같은 값의 개수를 반환합니다.
array.filter(조건) 사용법
array.filter(x=>a>=x)는array 배열에서 a보다 작다는 조건을 만족하는 요소만을 필터링하여 새로운 배열을 만든다.
즉 위의 코드는 90이하인 경우 0만이 해당하여 요소는 1개이므로 1반환, 90인 경우 0,90 두가지가 해당하여 2반환, 90<x<180이하인 경우 [0,90,91]이 반환되어 3반환 180인 경우 4 반환이다.