Как из многомерного массива сделать одномерный 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 с этим массивом в качестве аргумента. Иначе мы просто добавляем значение в одномерный массив. После прохода по всем элементам массива мы возвращаем одномерный массив. В итоге мы получаем одномерный массив со всеми значениями из исходного многомерного массива.

Ответы (0)