16 lines
400 B
Text
16 lines
400 B
Text
/* Flatten list, in Jsish */
|
|
function flatten(list) {
|
|
return list.reduce(function (acc, val) {
|
|
return acc.concat(typeof val === "array" ? flatten(val) : val);
|
|
}, []);
|
|
}
|
|
|
|
if (Interp.conf('unitTest')) {
|
|
; flatten([[1], 2, [[3, 4], 5], [[[]]], [[[6]]], 7, 8, []]);
|
|
}
|
|
|
|
/*
|
|
=!EXPECTSTART!=
|
|
flatten([[1], 2, [[3, 4], 5], [[[]]], [[[6]]], 7, 8, []]) ==> [ 1, 2, 3, 4, 5, 6, 7, 8 ]
|
|
=!EXPECTEND!=
|
|
*/
|