【问题标题】:lodash values of single object to array of objects with fixed key单个对象的 lodash 值到具有固定键的对象数组
【发布时间】:2017-02-07 14:14:58
【问题描述】:

我有一个对象

{
    key1:'val1',
    key2:'val2',
    key3:'val3',
    key4:'val4'
}

我需要将其转换为以下内容:

[
    {key:'val1'},
    {key:'val2'},
    {key:'val3'},
    {key:'val4'}
]

最终对象中的key 是固定的。

我如何使用 lodash 或下划线来做到这一点?我知道我可以使用_.values,然后使用forEach,但不知何故感觉不对。

【问题讨论】:

    标签: arrays node.js underscore.js lodash


    【解决方案1】:

    不需要 lodash 或下划线。只需映射Object.keys()

    var obj = {
        key1:'val1',
        key2:'val2',
        key3:'val3',
        key4:'val4'
    };
    
    var newObj = Object.keys(obj).map(function (k) {
        return {
      	key: obj[k]
        }
    });
    
    console.log(newObj);

    【讨论】:

    • 这太棒了!您认为哪个更快/更便宜? @Season 用 lodash 发布的那个还是这个?
    • 我没有检查,但是如果它们使用相同(或更少)数量的代码执行相同的操作,我总是更喜欢构建 js 函数而不是库。 @DushyantBangal
    • 你能帮我解决这个问题吗?:stackoverflow.com/questions/39774303/…
    【解决方案2】:

    下面是lodash 版本

    _.map({
        key1: 'val1',
        key2: 'val2',
        key3: 'val3',
        key4: 'val4'
    }, function( value ) { return { key: value }; } );
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 2017-02-08
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多