Как преобразовать многомерный массив в одномерный на javascript?
Ответ
Первый способ (частный случай многомерного массива):
1 2 3 4 5 6 7 |
var arrays = [[1, 2, 3], [4, 5], [6]]; console.log(arrays.reduce(function(flat, current) { return flat.concat(current); }, [])); // result: [1, 2, 3, 4, 5, 6] |
Второй способ (универсальный):
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var arrays = [[1, 2, [3, 4, [5, 5]]], [4, 5], [6]]; function convertToSimpleArray(array) { var res=[]; for (var i=0; i<array.length; i++) if (!Array.isArray(array[i])) res.push(array[i]); else res=res.concat(convertToSimpleArray(array[i])); return res; } console.log(convertToSimpleArray(arrays)); //result: [1, 2, 3, 4, 5, 5, 4, 5, 6] |