문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다.
function solution(strings, n) {
return strings.sort((a, b) => a[n] !== b[n] ? (a[n] > b[n]) - (a[n] < b[n]) : (a > b) - (a < b))
}
Array.sort(callback(a, b))
: Sort method는 배열의 원소 문자열 또는 숫자를 비교하여 배열을 재정렬한 배열을 반환하는 method이다.
위 문제와 관련하여 알아야 할 정보
Javascript에서 true
는 1, false
는 0과 같다고 표현된다.
callback의 인자로 a
, b
는 배열의 모든 원소와 대응 된다.
문자열 기준 callback의 반환 값은 0
을 기준으로
반환 값이 0
보다 작은 경우 a, b
순서로 정렬한다.
0
을 반환 할 경우 순서를 변경하지 않는다.
0
보다 클 경우 b, a
순서로 정렬한다.