2015-04-17 4 views
1

У меня есть массив:найти транспонированной матрицы с использованием lodash

[ [1,2,3], [4,5,6 ] ]

Как я могу превратить его в

[ [1,4], [2,5], [3,6] ]

Я уверен, что это легко сделать с помощью lodash, но я не нашел его в документах.

+1

Вы ищете '_.zip()' – Pointy

+0

@Pointy , но zip() только в python, не так ли? –

+2

@vtz ?? Нет, [это тоже часть Lodash.] (Https://lodash.com/docs#zip) – Pointy

ответ

0

_.zip(['fred', 'barney'], [30, 40], [true, false]); // → [['fred', 30, true], ['barney', 40, false]] // Official documentation

Официальная документация. https://lodash.com/docs#zip

+0

OP хочет использовать библиотеку lodash, он не хочет преобразовывать матричный алгоритм –

+0

Duh! Извините, я не читал ** lodash ** в описании. ; S – baquiax

+0

Я изменил ответ @JoseRicardoBustosM. :) – baquiax

6

решение с использованием lodash

m = [ [1,2,3], [4,5,6] ]; 
t = _.zip.apply(_, m); 
// result t = [ [1,4], [2,5], [3,6] ] 
m = [ [1,1,1,1], [2,2,2,2], [3,3,3,3] ] 
t = _.zip.apply(_, m); 
// result t = [ [1,2,3], [1,2,3], [1,2,3], [1,2,3] ] 

объяснение:

применяются: Сделать вызов функции с заданным значением для этого и аргументы, передаваемые в виде массива ..... такое же что _.zip (arg0, arg1, arg2) аналогично _.zip.apply (null, m), где m = [arg0, arg1, arg2]