Как из многомерного массива сделать одномерный javascript
В этой статье рассмотрим как преобразовать многомерный массив JavaScript в одномерный. Для этого мы будем использовать функцию Array.prototype.flat() и пример для демонстрации.
Как из многомерного массива сделать одномерный массив в JavaScript? Это достаточно просто с помощью рекурсивного прохода по каждому элементу массива и помещения значений в одномерный массив. Давайте рассмотрим пример ниже.
Пример
// Имеется многомерный массив
const multiArray = [1,2,[3,4,[5,6]],7];
// Функция преобразования в одномерный массив
const flattenArray = array => {
let oneDimensionalArray = [];
for (let i = 0; i < array.length; i++) {
if (Array.isArray(array[i])) {
oneDimensionalArray = oneDimensionalArray.concat(flattenArray(array[i]));
} else {
oneDimensionalArray.push(array[i]);
}
}
return oneDimensionalArray;
};
// Результат выполнения функции
console.log(flattenArray(multiArray)); // [1,2,3,4,5,6,7]
В примере выше мы демонстрируем, как можно из многомерного массива сделать одномерный массив с помощью рекурсивного прохода по каждому элементу массива. Для этого мы используем функцию flattenArray, которая принимает массив в качестве аргумента и возвращает одномерный массив. На каждом шаге прохода мы проверяем, является ли элемент массива массивом. Если это так, то мы повторно вызываем функцию flattenArray с этим массивом в качестве аргумента. Иначе мы просто добавляем значение в одномерный массив. После прохода по всем элементам массива мы возвращаем одномерный массив. В итоге мы получаем одномерный массив со всеми значениями из исходного многомерного массива.