根据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
这意味着您使用的是不支持数组的web浏览器或其他开发环境。原型flatMap
(目前Edge和IE不支持)。我用这张桌子。
还请注意,它主要用于多维数组(以避免链接map
和flat
,因此flatMap
)。
您的浏览器似乎不支持flatMap
。以下是受支持浏览器的完整列表:https://caniuse.com/#search=flatMap
如果您真的想使用它,这里是一个polyfill,它将为ES3提供支持:https://www.npmjs.com/package/array.prototype.flatmap
顺便说一句,它在多维数组上应用时非常有用!
我在使用jest进行测试时得到了这个结果,这是因为flatmap
只是节点11的一部分,而我使用的是节点10。
作为一种解决方案,我在我的setupTests.ts中添加了要求('core-js/稳定');
。
我想也有一些浏览器不会有这个。因此,我还将在我的应用程序导入中的某个地方放置require行。
我已经找到了很多关于RxJava的答案,但我想了解它在Reactor中是如何工作的。 我目前的理解是非常模糊的,我倾向于认为map是同步的,flatMap是异步的,但我不能真正理解它。 以下是一个例子: 我有文件(a
问题内容: 我目前的理解非常模糊,我倾向于认为map是同步的,而flatMap是异步的,但是我真的无法解决它。 这是一个例子: 我有文件(a ),我想将其复制到服务器上的某些文件中。 本示例摘自一本书。 我可以将所有更改为to ,反之亦然,一切仍然正常。我不知道有什么区别。 问题答案: 用于同步,非阻塞,一对一转换 用于异步(非阻塞)1-to-N转换 区别在方法签名中可见: 取a 并返回a 取a
在闪光灯下,平面图也可以发出一条记录。似乎平面图可以代替地图。有人能告诉我这种情况下的区别吗?谢谢你。
我使用的是Flink 0.10.0数据流。这是我的要求。 我的源系统是广播消息的自定义系统。在我的自定义SourceFunction实现中,我实现了回调来侦听消息。 每个回调都会得到不同类型的消息。 我想解码/转换在回调中收到的对象发送到我的SinkFunction。我相信我可以用FlatMapFunction或类似的软件来完成。 因为我有各种回调,所以我听每个回调的解码逻辑是不同的。我想不能有一
范畴理论中的单子是由三元组T、单位、平层等定义的。 KleisliTriple通过以下操作符对结构进行扁平化处理:(或Haskell中的),即由和组成。 但是,我一直认为,通过用这样的对象扁平化结构来组合函数,会更容易理解和实现函数编程中的单元体conept,即和的组合。 在本例中,。实际上,我在JavaScript中是以这种方式实现的,并且使用和(只是一个遗留的函数运算符),似乎可以获得Mona
我是RxJava的新手,经常被平面图函数弄糊涂。根据文档,平面图 有人能给出一个很好的用例吗?为什么要将原来的可观察对象转换为可观察对象(复数),然后将它们转换为单个可观察对象。 你为什么不直接用“地图”呢? 如果你举一个Android的例子,那就太棒了,否则纯Java就足够了。谢谢