Задать вопрос
@yagyar001

Как записать в одномерный массив все элементы из многомерного?

Всем привет. Учу js. Практикуюсь с рекурсией. Дан массив произвольного уровня вложенности [1, [2, 7, 8], [3, 4, [5, [6, 7]]]]. Нужно каждое значение массива записать в новый массив должно получиться так [1, 2, 7, 8, 3, 4, 5, 6, 7]. Но у меня что то не получается и возвращается массив с таким же уровнем вложенности. Что я сделал не так?
let arr2 = [1, [2, 7, 8], [3, 4, [5, [6, 7]]]];

function func (arr) {
	let res = [];
	for (elem of arr) {
		if (typeof elem == 'object') {
			res.push(func(elem));
		} else {
			res.push(elem);
		}
	}
	return res;
}

console.log(func(arr2));
  • Вопрос задан
  • 1252 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя Сергей Соколов К ответам на вопрос (5)
sergiks
@sergiks Куратор тега JavaScript
♬♬
Ошибка в том, что возвращается всегда массив.
В т.ч. там, где вроде бы хотели массив распаковать.
Ответ написан
Комментировать