2016-06-26 85 views
0

删除嵌套属性我有对象的一个​​这样的数组:Lodash - 从对象

[{ 
    createdAt: "a date", 
    id: "my id", 
    registered: { 
     __type: 'Date', 
     iso: 'the date' 
    } 
}] 

因为注册的字段是一个对象,我真的只是需要的是iso领域,有一个快速的方法Lodash(或....在javascript中)将这个对象数组转换为另一个像这样?

[{ 
    createdAt: "a date", 
    id: "my id", 
    registered: 'the date' 
}] 

我没有尝试过这样的事情...但不要......作品

const newObj = _.values(measurements).map(element => { 
    _.omit(element.registered['__type']) 
}); 
+1

'element.registered = element.registered.iso; return element' – haim770

回答

2

如果你不介意变异现有对象,.forEach是你所需要的。简单地覆盖该财产,没有必要删除任何内容:

arr.forEach(function(obj) { 
    obj.registered = obj.registered.iso; 
}); 
+0

最简单的解决方案就是正确的答案...不知道为什么我想的很难....很简单! – Mistre83

+0

'地图'也可以工作。 – gcampbell

2
_.map(data,function(d){ 
    var iso=d.registered.iso 
    d.registered=iso; 
    return d; 
}) 

这可以帮助。