// map
function solution(arr, divisor) {
let answer = [];
arr.map(n => {n % divisor == 0 && answer.push(n);})
//n % divisor === 0 이게 참이면 && 뒤 구문은 무조건 실행
return answer.length ? answer.sort((a, b) => a - b) : [-1] ;
// 첫 번째 인자가 두 번째 인자보다 작으면 음수를 반환(오름차순)
}
// for
function solution(arr, divisor) {
let answer = [];
for(let i = 0; i < arr.length; i++) {
if(arr[i] % divisor === 0) answer.push(arr[i]);
}
if(answer.length === 0) answer.push(-1);
answer.sort((a, b) => a - b);
return answer;
}
// 아래는 테스트 코드입니다.
console.log(solution([5, 15, 7, 55], 5));
// filter
function solution(arr, divisor) {
var answer = arr.filter(v => v%divisor == 0);
return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b);
}
.filter()
: 배열의 일부에 대한 얕은 복사본을 생성하고, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링
.sort()
: 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환
.push()
: 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환
(출처 : Array.prototype.sort())
(출처 : Array.prototype.filter())
(출처 : Array.prototype.push())
(출처 : 자바스크립트 배열 정렬: sort()와 toSorted() 함수)