nerv_,
чутка сменил под свои нужды = спасибо, и что я тупанул и сразу не сделал рекурсию ?! - лох ))
function split(src, st, r, c) {
if(!st) return false;
if (r + st < src.length && c + st < src[0].length) {
console.log(st +"---------"+src[r][c]+","+ src[r][c + st]+","+src[r + st][c]+","+ src[r + st][c + st]);
if (c + st +1 < src[0].length) {
return split(src, st, r, ++c + st);
} else {
return split(src, st, ++r + st, 0);
}
} else split(src, st==1?0:Math.ceil(st/2), 0, 0);
}
var arr = [
[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]
];
split(arr, 3, 0, 0);