我有以下代码:
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?
一起使用展平功能有什么问题答案 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(...)
,这就是它的工作原理。构造函数不深度转换,因此集合包含一个数组(没有展平)。