/* 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!= */