web-dev-qa-db-ja.com

配列の配列をマッピングする

Lodashに配列の配列をマッピングするメソッドはありますか

配列の構造を保持するために、このようなことをしたいと思います。

def double(x) { return x*2 }

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

ES2015矢印関数を使用して、コードをよりきれいにすることができます。

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

Vanilla JSの使用:

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

ただ _.map 2回:

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

または lodash なし:

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

さらに、 es6矢印関数 の使用を検討してください。

var doubledArray = array.map(nested => nested.map(element => element * 2));
14

それは一種の絡み合いである可能性があります:

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

それでも、Gasで配列を初期化する場合に便利です。

0
manguel1980