映射数组的数组

新手上路,请多包涵

lodash中是否有一种方法可以映射数组数组

我想做这样的事情,以便它保持数组的结构。

 def double(x) { return x*2 }

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

原文由 bwbrowning 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 233
2 个回答

你可以使用 ES2015 箭头函数让你的代码更简洁:

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

使用香草 JS:

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

原文由 TbWill4321 发布,翻译遵循 CC BY-SA 3.0 许可协议

只是 _.map 它两次:

 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));

原文由 Radosław Miernik 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题