从 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.