ImmutableJS 设置不展平

ImmutableJS Set not flattening

我有以下代码:

Immutable.Set(['valor1', 'valor2', 'valor2', 'valor3', ['valor4', 'valor5']]).flatten().toJS();

这没有按预期工作,但 returns 与输入的一样。如果我把它当作一个列表,它会按预期工作:

   Immutable.fromJS(['valor1', 'valor2', 'valor2', 'valor3', ['valor4', 'valor5']]).flatten().toJS(); // return flattened list

当与 Set 一起使用时,flatten 函数有什么问题?

What's wrong with flatten function when using it with Set?

没什么问题。看来您对 Setflatten 的工作方式有错误的想法。来自 docs:

Flattens only others Iterable, not Arrays or Objects.

Immutable.fromJS(...) deeply 将值转换为映射和列表,因此内部数组转换为 Immutable.List,这就是它起作用的原因。构造函数进行深度转换,因此该集合包含一个数组(未展平)。