[연습문제] 배열 내 배열 정렬하기
배열 내 배열 정렬하기
나의 풀이
function solution(rows) {
const first = rows.sort((x, y) => x[0] - y[0]).map(row => row[0]);
const third = rows.sort((x, y) => y[2] - x[2]).map(row => row[0]);
const hash = rows.reduce((acc, cur) => {
acc[cur[0]] = cur[1];
return acc;
}, {});
const tempSecond = rows.map(row => row[1]).sort();
const hashArr = Object.keys(hash);
let second = [];
tempSecond.forEach(v => {
hashArr.find(key => {
if (hash[key] === v) {
second.push(+key);
}
});
});
return [first, second, third];
}
console.log(
solution([
[1, 'john', 38],
[2, 'alex', 188],
[3, 'ben', 302],
])
);
console.log(
solution([
[51, 'a', 11],
[56, 'aa', 382],
[17, 'ab', 6],
])
);
객체 내 key 별 정렬은 해봤는데, 배열 내 배열은 처음 해봤다.
이렇게 접근하는게 맞는지 잘 모르겠지만, 문자열일 때 sort가 되지 않아서,
hash 를 만들어서, key로 다시 잡근했다.
이게 맞는걸까…? 싶다