我有一些json数据,如下所示:
{
'harry-test-com': { 'quoteID234324': {'day': 'tuesday', 'cost':'1000'}},
'sam-imaginarydomain-com': {
'quoteID13211': {'day': 'wednesday', 'cost': '500'},
'quoteID534534': {'day': 'monday', 'cost': '300'}
}
};
所以基本上我们的报价是由用户安排的,以便于过滤。但是,在一个页面上,我想在列表中显示所有引号。所以我想浏览每个用户,抓住他们的引号,然后将它们添加到按键排序的对象中,如下所示:
'quoteID234324': {'day': 'tuesday', 'cost':'1000'},
'quoteID13211': {'day': 'wednesday', 'cost': '500'},
'quoteID534534': {'day': 'monday', 'cost': '300'}
我认为lodash无疑对此有用,但我不知道从哪里开始?任何帮助将不胜感激!干杯
答案 0 :(得分:1)
您可以使用Object.keys()
和Object.assign()
const obj = {
'harry-test-com': {
'quoteID234324': {
'day': 'tuesday',
'cost': '1000'
}
},
'sam-imaginarydomain-com': {
'quoteID13211': {
'day': 'wednesday',
'cost': '500'
},
'quoteID534534': {
'day': 'monday',
'cost': '300'
}
}
};
const result = Object.keys(obj).reduce((days, user) => Object.assign(days, obj[user]), {});
console.log(result);

支持率较低的选项是将Object.values()
与Object.assign
一起使用:
const obj = {
'harry-test-com': {
'quoteID234324': {
'day': 'tuesday',
'cost': '1000'
}
},
'sam-imaginarydomain-com': {
'quoteID13211': {
'day': 'wednesday',
'cost': '500'
},
'quoteID534534': {
'day': 'monday',
'cost': '300'
}
}
};
const result = Object.assign({}, ...Object.values(obj));
console.log(result);