javascript - 如何从对象数据创建新的对象名称?
问题描述
我需要从现有对象创建新的数据对象。
我有一个如下所示的对象:
var peopleObject = {
"123": { id: 123, name: "dave", age: 23 },
"456": { id: 456, name: "chris", age: 23 }
};
重建这个对象后,我需要得到:
var peopleByNames = {
"dave": 123,
"chris": 456
};
解决方案
您可以使用从对象中获取值列表,Object.values
然后根据这些值填充对象。id
name
var peopleObject = {
"123": { id: 123, name: "dave", age: 23 },
"456": { id: 456, name: "chris", age: 23 }
};
var peopleByNames = Object.values(peopleObject).reduce(function(obj, value){
obj[value.name] = value.id;
return obj;
}, {});
console.log(peopleByNames);
推荐阅读
- reactive-programming - 在 Rx.Net 中去抖直到
- forms - 在提交表单时传输数据并打开 PDF 文件
- swift - 如何:每次呈现视图控制器时仅运行一次 .timeout 运算符
- xamarin.forms - 自定义工具栏菜单项 xamarin 表单
- c# - WinAPI SetCursorPos 似乎无法在具有不同分辨率的多台显示器上正常工作
- java - 如何解决 React Native 错误:任务:react-native-maps:compileDebugJavaWithJavac FAILED
- api - Odata 控制器返回不完整的结果。(电火花模型)
- python - 如何从 StackDriver Logging API 反序列化 App Engine 应用程序日志?
- javascript - recordRTC 录制屏幕和麦克风
- python - 为什么 Python 文档将 [1, 2] 称为列表“显示”而不是“文字”?