@krll-k

У меня есть двухмерный массив, как мне превратить в одномерный?

есть:
[
[1,2,3],
[1,2,3],
[4,5,6,7,8,9],
]
нужно:[1,2,3,4,5,6,7,8,9]
  • Вопрос задан
  • 913 просмотров
Решения вопроса 2
@Ridz
var arr = [
        [1, 2, 3],
        [1, 2, 3],
        [4, 5, 6, 7, 8, 9]
    ],
    arr = [].concat.apply([], arr).filter(function(a, b, c) {
        return c.indexOf(a) == b
    });
Ответ написан
Комментировать
@krll-k Автор вопроса
flatten_.flatten(array, [shallow])
Если массив array обладает уровнями вложенности, приведёт его к элементарному виду (вложенность может быть любой глубины). Если аргумент shallow был установлен в true, будет устранён только один уровень вложенности.

_.flatten([1, [2], [3, [[[4]]]]]);
// вернёт [1, 2, 3, 4]

_.flatten([1, [2], [3, [[4]]]], true);
// вернёт [1, 2, 3, [[4]]]


underscorejs.ru/#flatten
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
xPomaHx
@xPomaHx
1vs9
array.toString().split(",");
Ответ написан
@graf_777_gos
3 курс. Информационные технологии! (2015г)
Может не самый оптимальный, но рабочий вариант.
((arr) => {
	var m = [];

	arr.forEach((e) => {
		e.forEach((e1) => {
			if (m.indexOf(e1) === -1) {
				m.push(e1);
			}
		});
	});

	return m;
})(arr);
Ответ написан
Комментировать
@sab00n
как-то сложно все у вас:

const flatten = arr => arr.reduce((curr, next) => curr.concat(next));
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы