web-dev-qa-db-fra.com

Mapper un tableau de tableaux

Existe-t-il une méthode dans lodash pour mapper sur un tableau de tableaux

Je voudrais faire quelque chose comme ceci pour qu'il garde la structure du tableau.

def double(x) { return x*2 }

_([[1,2],[3,4]]).somemethod(double) == [[2,4],[6,8]]
8
bwbrowning

Vous pouvez rendre votre code plus propre avec les fonctions de flèche ES2015:

var array = [[1, 2], [3, 4]];
var double = x => x * 2;
var doubledArray = _.map( array, subarray => _.map( subarray, double ));

Utilisation de Vanilla JS:

var array = [[1, 2], [3, 4]];
var double = x => x * 2;
var doubledArray = array.map( subarray => subarray.map( double ));
9
TbWill4321

Juste _.map deux fois:

var array = [[1, 2], [3, 4]];
var doubledArray = _.map(array, function (nested) {
    return _.map(nested, function (element) {
        return element * 2;
    });
});

Ou sans lodash :

var doubledArray = array.map(function (nested) {
    return nested.map(function (element) {
        return element * 2;
    });
});

De plus, pensez à utiliser es6 fonctions de flèche :

var doubledArray = array.map(nested => nested.map(element => element * 2));
14
Radosław Miernik

Ce peut être une sorte d'enchevêtrement:

var Coef = Array.apply(null, Array(3)).map(function(){return
Array.apply(null, Array(4)).map(function(){return 0})})

Néanmoins, cela peut être utile si vous souhaitez initialiser un tableau dans Gas

0
manguel1980