ImmutableJS设置不扁平

时间:2015-12-23 22:14:18

标签: javascript list ecmascript-6 immutable.js es2015

我有以下代码:

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

这不能按预期工作,但会返回输入的内容。如果我将其视为List,它会按预期工作:

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

与Set?

一起使用展平功能有什么问题

1 个答案:

答案 0 :(得分:5)

  

与Set?

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

没有任何问题。您似乎对Lines <- "SID firstName lastName subject sumScaleScore sumPerformanceLevel 604881 JIM Ro Mathematics 912 2 604881 JIM Ro ELA 964 4 594181 JERRY Chi ELA 997 1 594181 JERRY Chi Mathematics 918 3 564711 KILE Gamma ELA 933 5 564711 KILE Gamma AlgebraI 1043 7" DF <- read.table(text = Lines, header = TRUE, as.is = TRUE) Set的工作原理有错误的想法。来自docs

  

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

flatten 深度将值转换为地图和列表,因此内部数组会转换为Immutable.fromJS(...),这就是它的工作原理。构造函数深度转换,因此集合包含一个数组(没有展平)。