Soit un tableau [1,2,3] qu'on veut transformer en [[3], [2], [1]].
Fonctionnel
function MakeArray(a) {return [a]; }
var array = [1,2,3];
var working_arrays = array.reverse().map(MakeArray);
Procédural avec while
var array = [1,2,3]
var working_arrays = [];
var next_item;
while(array.length > 0) {
next_item = array.pop();
working_arrays.push([next_item]);
}
Conclusion
Même si le while détruit le tableau d'origine, il est quand même plus rapide que le map() selon le test de rapidité sur : jsperf (2014-12-31).
Cependant, le fonctionnel me semble beaucoup plus claire à lire.