다음과 같은 중첩 배열이 있다고 가정해 보겠습니다. -
const arr = [ ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"], ["RIGHT", "LEFT", "TOP"], ["TOP", "LEFT"] ];
그러한 배열을 취하는 JavaScript 함수를 작성해야 합니다. 그런 다음 함수는 가장 작은 하위 배열(포함된 요소 수에 있어서 가장 작은)을 선택하고 반환해야 합니다.
예시
이에 대한 코드는 -
const arr = [
["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"],
["RIGHT", "LEFT", "TOP"],
["TOP", "LEFT"]
];
const findShortest = (arr = []) => {
const res = arr.reduce((acc, val, ind) => {
if (!ind || val.length < acc[0].length) {
return [val];
};
if (val.length === acc[0].length) {
acc.push(val);
};
return acc;
}, []);
return res;
};
console.log(findShortest(arr)); 출력
콘솔의 출력은 -
[ [ 'TOP', 'LEFT' ] ]