Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 배열 배열에서 가장 작은 배열 가져오기

<시간/>

다음과 같은 중첩 배열이 있다고 가정해 보겠습니다. -

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' ] ]