javascript - 如何在不删除顶层的情况下将嵌套对象移动到顶层?

标签 javascript underscore.js lodash

假设我有这个数据:

data = [{
    "_id" : "2fApaxgiPx38kpDLA",
    "profile" : {
        "name" : "Karina 1",
        "avatar" : "avatar1.jpg",
        "bio" : "my bio 1"
},
{
    "_id" : "NXM6H4EWfeRAAhB7c",
    "profile" : {
        "name" : "Karina 2",
        "avatar" : "avatar2.jpg",
        "bio" : "my bio 2"
    },
}];

我做了 _.map(data, "profile") 但它删除了顶级 _id:

wrongResult = [{
    "name" : "Karina 1",
    "avatar" : "avatar1.jpg",
    "bio" : "my bio 1"
},
{
    "name" : "Karina 2",
    "avatar" : "avatar2.jpg",
    "bio" : "my bio 2"  
}];

如何在不移除顶层的情况下将嵌套对象移动到顶层:

expectedResult = [{
    "_id" : "2fApaxgiPx38kpDLA",
    "name" : "Karina 1",
    "avatar" : "avatar1.jpg",
    "bio" : "my bio 1"
},
{
    "_id" : "NXM6H4EWfeRAAhB7c",
    "name" : "Karina 2",
    "avatar" : "avatar2.jpg",
    "bio" : "my bio 2"  
}];

非常感谢......

最佳答案

像这样的? (未测试)

_.map(data,function(d){
    d.profile._id = d._id;
    return d.profile;
});

关于javascript - 如何在不删除顶层的情况下将嵌套对象移动到顶层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34092513/

相关文章:

javascript - 为什么这个函数在这个 _.each 循环中不可见?

javascript - Gruntjs 更改下划线模板分隔符

lodash - 如何通过所有属性从对象数组中获取唯一对象?

javascript - 在Javascript中,如何判断和调用继承的监听器?

javascript - 指定多个子句 underscore.js

javascript - 主干排序和更新一个 Action 后的 ListView

javascript - 为什么 var name = function(){...} 形式的函数在 ES5 中没有被提升?

javascript - 根据值获取对象键

javascript - 具有未知长度的数据结构

javascript - 如何将下面的字符串链变成字符串插值?