Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-数组上的flatMap方法-(flatMap不是函数)_Javascript_Arrays_Node.js_Ecmascript 6_Flatmap - Fatal编程技术网

Javascript-数组上的flatMap方法-(flatMap不是函数)

Javascript-数组上的flatMap方法-(flatMap不是函数),javascript,arrays,node.js,ecmascript-6,flatmap,Javascript,Arrays,Node.js,Ecmascript 6,Flatmap,根据Mozilla开发者网站: flatMap()方法首先使用映射函数映射每个元素,然后将结果展平到新数组中。它与深度为1的平面后的贴图相同,但平面贴图通常非常有用,因为将两者合并到一个方法中会稍微更有效。 例如: let arr = [1, 2, 4, 2, 3, 3, 4, 5, 5, 5, 8, 8, 9, 10]; const flatMap = arr.flatMap(x => x); console.log(flatMap); TypeError:arr.flatMap()

根据Mozilla开发者网站:

flatMap()方法首先使用映射函数映射每个元素,然后将结果展平到新数组中。它与深度为1的平面后的贴图相同,但平面贴图通常非常有用,因为将两者合并到一个方法中会稍微更有效。

例如:

let arr = [1, 2, 4, 2, 3, 3, 4, 5, 5, 5, 8, 8, 9, 10];

const flatMap = arr.flatMap(x => x);
console.log(flatMap);
TypeError:arr.flatMap()不是函数

为什么会返回此错误

编辑

我正在通过Atom文本编辑器运行此操作,并使用自制软件使用
brew升级节点将其更新为最新版本,但它仍然给我相同的错误


我还尝试了
npm安装n-g

您的浏览器似乎不支持
flatMap
。 以下是受支持浏览器的完整列表:

如果您真的想使用它,这里是一个polyfill,它将为ES3提供支持:


顺便说一句,它在多维数组上应用时非常有用

这意味着您使用的是不支持的web浏览器或其他开发环境(目前Edge和IE不支持)。我喜欢这张桌子


还请注意,它主要用于多维数组(避免链接
map
flat
,因此
flatMap
)。

我在使用jest进行测试时得到了这个结果,因为
flatMap
是唯一的,我使用的是节点10

作为解决方法,我添加了
require('core-js/stable')在my
setupTests.ts


我想也有一些浏览器不会有这个。因此,我还将在我的应用程序导入中的某个地方放置require行。

您的浏览器可能还不支持它。但是,在该数组上使用
flatMap
有什么意义呢?我只想看看它是否有效,然后测试其他值。有很多例子,如果你的浏览器不支持它,这只是一个问题,因为它只在新浏览器上受支持。在我的情况下,我会用自制软件升级,对吗
brew升级节点
对吗?更简单(不需要自制)
npm安装n-g
(请参阅)。只需卸载节点并使用nvm重新安装即可:非常感谢,我正在atom上运行它,相信我已将其更新为最新版本的节点,但仍然不起作用。我建议在节点上开发时使用:)