Javascript-数组上的flatMap方法-(flatMap不是函数)
根据Mozilla开发者网站: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()
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')代码>在mysetupTests.ts
中
我想也有一些浏览器不会有这个。因此,我还将在我的应用程序导入中的某个地方放置require行。您的浏览器可能还不支持它。但是,在该数组上使用flatMap
有什么意义呢?我只想看看它是否有效,然后测试其他值。有很多例子,如果你的浏览器不支持它,这只是一个问题,因为它只在新浏览器上受支持。在我的情况下,我会用自制软件升级,对吗brew升级节点
对吗?更简单(不需要自制)
npm安装n-g
(请参阅)。只需卸载节点并使用nvm重新安装即可:非常感谢,我正在atom上运行它,相信我已将其更新为最新版本的节点,但仍然不起作用。我建议在节点上开发时使用:)