function solution(angle) {
return [0, 90, 91, 180].filter(x => angle>=x).length;
}
array.filter(callbackFn[, thisArg])
: 배열을 돌면서 함수(콜백)을 사용하여 조건에 따라 필터링한 배열을 반환
[arr].filter()
: 배열.filter 함수filter()
함수를 호출할 때, 필터링할 배열을 콜백 함수에 전달filter()
함수는 필터링할 배열의 첫 번째 요소를 선택하고, 이 요소를 콜백 함수의 첫 번째 매개변수(element)로 전달filter()
함수는 다음 배열 요소를 선택하고 이와 같은 과정을 반복
- 모든 배열 요소에 대한 콜백 함수 호출이 완료되면, filter() 함수는 필터링된 결과를 포함하는 새로운 배열을 반환// 배열안의 객체에서 뽑기
const persons = [
{ name: 'Dd', money: 500000 },
{ name: 'Billy', money: 400000 },
{ name: 'Anny', money: 300000 },
{ name: 'Coren', money: 200000 }
];
const rich = persons.filter(person => person.money > 300000);
console.log(rich);
// [{name: 'Dd', money: 500000}]
// [{name: 'Billy', money: 400000}]
// 배열안에서 배열 뽑기
const words = ["apple", "banana", "cherry", "date", "fig"];
const longWords = words.filter((word) => word.length >= 5);
console.log(longWords); // ["apple", "banana", "cherry"]
// 화살표 함수 : Arrow function
filter((element) => { /* ... */ } )
filter((element, index) => { /* ... */ } )
filter((element, index, array) => { /* ... */ } )
// 콜백 함수 : Callback function
filter(callbackFn)
filter(callbackFn, thisArg)
// Inline callback function
filter(function(element) { /* ... */ })
filter(function(element, index) { /* ... */ })
filter(function(element, index, array){ /* ... */ })
filter(function(element, index, array) { /* ... */ }, thisArg)
(출처 : Javascript - Array filter 사용법)
(출처 : 자바스크립트 filter() 함수 – 개념 정리 및 사용 예제)
중첩 삼항연산자
를 통한 코드 간결화
function solution(angle) {
return angle < 90 ? 1 : angle === 90 ? 2 : angle < 180 ? 3 : 4;
// if => angle < 90 ? [true => 1] : [false => angle === 90 ? 2 : angle < 180 ? 3 : 4;]
// if => angle === 90 ? [true => 2] : [false => angle < 180 ? 3 : 4;]
// if => angle < 180 ? [true => 3] : [false => 4;]
}