Javascript "[e|x<;-xs;y<;-ys;…]=concat[e|y<;-ys;…]|x<;-xs]是怎样的`
我正在读《函数式编程导论第一版》。 我想出了一个规则,把理解理解理解为Javascript "[e|x<;-xs;y<;-ys;…]=concat[e|y<;-ys;…]|x<;-xs]是怎样的`,javascript,haskell,functional-programming,list-comprehension,Javascript,Haskell,Functional Programming,List Comprehension,我正在读《函数式编程导论第一版》。 我想出了一个规则,把理解理解理解为 [e | x <- xs; y <- ys; ...] = concat[[e | y <- ys; ...] | x <- xs] 也许我读错了,或者|在这里有一些特殊的含义 请帮忙。[[e|y[a] 所以它展开了折叠的结构 因此concat[[1,2,3],[4,5]]=>[1,2,3,4,5]concat:[[a]]->[a]concat[[e|y@Abhishek Javascript的co
[e | x <- xs; y <- ys; ...] = concat[[e | y <- ys; ...] | x <- xs]
也许我读错了,或者|
在这里有一些特殊的含义
请帮忙。[[e|y[a]
所以它展开了折叠的结构
因此
concat[[1,2,3],[4,5]]
=>[1,2,3,4,5]
concat:[[a]]->[a]
concat[[e|y@Abhishek Javascript的concat
在Haskell中是(++)
,其类型为[a]->[a]-[a]
。然而,在JS中,数组当然不必是同质的。
for(x in xs){
for(y in ys){
someList.push(e)
}
}
for (x in xs) {
tmp = []
for (y in ys) {
tmp.push(e)
}
someList.push(tmp)
}