Quiero dividir una matriz en pares de matrices.
var arr = [2, 3, 4, 5, 6, 4, 3, 5, 5]sería
var newarr = [ [2, 3], [4, 5], [6, 4], [3, 5], [5] ]Lodash tiene un método para esto: https://lodash.com/docs/4.17.10#chunk
_.chunk([2,3,4,5,6,4,3,5,5], 2); // => [[2,3],[4,5],[6,4],[3,5],[5]]
No hay una función precocinada para hacer eso, pero aquí hay una solución simple:
var splitPairs = function(arr) { var pairs = []; for (var i=0 ; i<arr.length ; i+=2) { if (arr[i+1] !== undefined) { pairs.push ([arr[i], arr[i+1]]); } else { pairs.push ([arr[i]]); } } return pairs; };