javascript - 将一个对象的属性名称复制到另一个而不复制值
问题描述
给定一个对象
const firstObject = {
key1 : 'value1',
key2 : 'value2'
// Many more keys here
};
我想创建另一个这样的对象
const secondObject = {
key1 : false,
key2 : false
// Many more keys here same as firstObject
};
我知道我可以做Object.keys()
并迭代它们以添加值,或者做一个浅拷贝然后更改值,但我正在寻找一个高性能的解决方案。
那么,鉴于密钥是动态的(不是在任何地方进行硬编码)并且我们只需要针对一级深度密钥的解决方案,那么实现它的最高效方法是什么?
PS:ES6 解决方案也很好,反正我用的是 babel。
解决方案
Object.fromEntries( Object.keys(firstObject).map(k => ([k, false])))
必须测试是否“性能更高” 。
推荐阅读
- angular - 为什么我的反应式表单验证在 Angular 中失败
- javascript - 使用 JavaScript 进行媒体查询
- javascript - 如何搜索在 jQuery 数据表中以字符串形式显示的布尔值?
- python - 为什么我的 tf.profiler.Profiler 抱怨“找到加速器操作但错过了加速器流统计信息”
- javascript - 使用浏览器视图在浏览器窗口上设置覆盖
- android - 闹钟在应用程序中不起作用
- json - 可解码为 JSON Swift 4
- wso2 - WSO2 Governance registry5.4.0 REST API 的招摇网址
- ios - 获得 AWS 的响应 | 应用同步
- java - 将大位图存储到内存中或不断解码较小的位图