ImmutableJS设置不扁平

Mat*_*ipe 1 javascript list ecmascript-6 immutable.js es2015

我有以下代码:

Immutable.Set(['valor1', 'valor2', 'valor2', 'valor3', ['valor4', 'valor5']]).flatten().toJS();
Run Code Online (Sandbox Code Playgroud)

这不会按预期工作,但会返回与输入相似的内容.如果我将它视为List,它按预期工作:

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

使用Set时,展平功能有什么问题?

Fel*_*ing 5

使用Set时,展平功能有什么问题?

它没有任何问题.看来你对如何Setflatten工作有错误的想法.来自文档:

仅展平其他可迭代的,而不是阵列或对象.

Immutable.fromJS(...) 深度将值转换为Maps和Lists,因此内部数组转换为a Immutable.List,这就是它的工作原理.构造函数没有深度转换,因此集合包含一个数组(没有展平).