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

更新時間: 2020-11-24

452 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

入門
廣告
© . All rights reserved.