javascript - 相当于 _.pick() 但对于 Lo-dash 中的数组

标签 javascript arrays lodash

我有以下收藏:

var columns = [
    { key:'url', width:20, type:'text' },
    { key:'title', width:21, type:'text' },
    { key:'desc', width:22, type:'text' },
    { key:'domain', width:23, type:'text' },
    { key:'user', width:24, type:'text' }
];

我正在寻找一种方法来映射带有选定键的对象数组,类似于:

_.mapPick(columns, [width]) 
// [{width:20},{width:21},{width:22},{width:23},{width:24}]

我知道我可以像这样扩展 lo-dash:

_.mixin({
    mapPick:  mapPick:function (objs,keys){
        return _.map(objs, function (obj) {
            return _.pick(obj,keys)
        })
    }

});

我不确定是否缺少某些 native 功能。

我发现了一个类似的问题here但我正在寻找一种更 lo-dash 的原生方式。

最佳答案

我认为 map() + pick()方法是你最好的选择。但是,您可以编写回调而不是创建内联函数:

_.map(columns, _.partialRight(_.pick, 'key'));

关于javascript - 相当于 _.pick() 但对于 Lo-dash 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464259/

相关文章:

javascript - 使用 lodash.js 将平面数组转换为树形数组

javascript - 有没有办法用 Lodash 的包装一次包装多个参数

c - 如何判断每个随机数是否命中错误

java - 检查数组是否包含一个整数值

javascript - lodash:检查对象是否为空

javascript - 在事件循环中为 nodejs 任务分配优先级

java - 使用回收器在 android Studio 中获取 NullPointerException

javascript - javascript可以在客户端捕获图像下载时间吗?

javascript - 如何通过 grunt-nodemon 重启 node.js 服务器时输出时间戳?

javascript - 分配给函数是否会覆盖该函数或创建隐式全局变量?