Skip to content

Instantly share code, notes, and snippets.

var a = [[1,2,[3]],4];
function flat(a) {
function _flat(a, depth) {
var b = [];
if(depth>100) throw 'too deep';
for(var i=0;i<a.length;i++) {
var locks = {};
function lock(id, callback) {
var lock = locks[id];
if (lock) {
lock.push(callback);
} else {
locks[id] = [];
callback(unlock(id));