映射并过滤数组JavaScript

映射并过滤数组JavaScript,javascript,arrays,dictionary,multidimensional-array,filter,Javascript,Arrays,Dictionary,Multidimensional Array,Filter,我正在尝试映射一个嵌套数组并返回字母数超过6的单词,我已经被这个问题困扰了一段时间,所以我想得到一些帮助 const array = [["hellow",'pastas'],["travel", "militarie"],["oranges","mint"]] const arrayOne = array.map(new => new).filter(arr =>arr.length > 6) 您可以先flat数组,然后过滤出长度大于6 const数组=[['hell

我正在尝试映射一个嵌套数组并返回字母数超过6的单词,我已经被这个问题困扰了一段时间,所以我想得到一些帮助

const array = [["hellow",'pastas'],["travel", "militarie"],["oranges","mint"]]

  const arrayOne = array.map(new => new).filter(arr =>arr.length > 6)

您可以先
flat
数组,然后
过滤出长度大于
6
const数组=[['hellow'、'pastas']、['travel'、'policies']、['oranges'、'mint']
常数arrayOne=array.flat(1).filter(e=>e.length>6)

log(arrayOne)
我认为最好使用filter()方法

array.filter(function (c) {
    return c.length < 6;
});
array.filter(函数(c){
返回c.长度<6;
});

但是首先使用flat()方法。

您可以使用下面的代码。此代码使用
.map()
.filter()
检查长度是否大于6,如果大于6,则将其添加到数组中

const数组=[[“hellow”、“pastas”]、[“travel”、“军旅”]、[“oranges”、“mint”];
const arrayOne=array.map(e1=>e1.filter(e2=>e2.length>6)).flat();

控制台日志(arrayOne)有很多方法可以做到这一点

您可以使用和:
const数组=[['hellow'、'pastas']、['travel'、'policie']、['oranges'、'mint'];
const result=array.flatMap(x=>x.filter(y=>y.length>6));

控制台日志(结果)我需要使用地图,而不是flat@Prisme但是为什么呢?在这种情况下,
map
不合适1)
new
是一个保留关键字2)请用单引号(
)或双引号(
)发布代码,而不是
3)预期的输出是什么?你为什么坚持使用
.map()
.filter()
?似乎不是这个工作的合适工具。使用
map()/filter()/reduce()
会更有意义。
array.map(a=>a.filter(s=>s.length>6)).reduce((acc,a)=>acc.concat(a),[])
可能的重复