技术文摘
在JavaScript中如何从指定对象创建键全为小写的新对象
在JavaScript中如何从指定对象创建键全为小写的新对象
在JavaScript的编程实践中,我们常常会遇到需要处理对象的情况。其中一个常见的需求就是从一个指定对象创建一个新对象,并且新对象的所有键都为小写形式。这样的操作在数据处理、数据规范化以及与外部API交互等场景中都非常实用。接下来,我们就详细探讨一下如何实现这一功能。
方法一:使用Object.entries()和Object.fromEntries()
Object.entries() 方法会将一个对象的所有可枚举属性转换为一个包含键值对的数组。我们可以利用这一特性遍历原对象的所有键值对,将键转换为小写后,再使用Object.fromEntries() 方法将这些新的键值对重新转换为一个新对象。示例代码如下:
const originalObject = {
"FirstName": "John",
"LastName": "Doe",
"Age": 30
};
const newObject = Object.fromEntries(
Object.entries(originalObject).map(([key, value]) => [key.toLowerCase(), value])
);
console.log(newObject);
在这段代码中,Object.entries(originalObject) 首先将originalObject转换为一个包含键值对的数组。然后,我们使用map方法遍历这个数组,在遍历过程中,将每个键通过toLowerCase() 方法转换为小写形式,同时保持值不变。最后,Object.fromEntries() 将这个新的键值对数组转换为一个新对象。
方法二:使用for...in循环
另一种实现方式是使用for...in循环。这种方法通过遍历原对象的所有可枚举属性,手动创建一个新对象,并将原对象的键转换为小写后作为新对象的键。示例代码如下:
const originalObject = {
"FirstName": "John",
"LastName": "Doe",
"Age": 30
};
const newObject = {};
for (let key in originalObject) {
if (originalObject.hasOwnProperty(key)) {
newObject[key.toLowerCase()] = originalObject[key];
}
}
console.log(newObject);
在这个示例中,我们首先创建了一个空对象newObject。然后,通过for...in循环遍历originalObject的所有可枚举属性。在每次循环中,我们使用hasOwnProperty() 方法确保处理的是对象自身的属性,而非继承的属性。接着,将原对象的键转换为小写后作为新对象的键,并将原对象的值赋给新对象的对应键。
通过上述两种方法,我们可以轻松地在JavaScript中从指定对象创建键全为小写的新对象,满足各种实际编程需求。无论是使用现代的Object.entries() 和Object.fromEntries() 方法,还是传统的for...in循环,都能有效地实现这一功能,开发者可以根据具体情况选择最适合自己的方式。
TAGS: JavaScript 对象操作 键转换 新对象生成
- 万字长文剖析:阿里达成海量数据实时分析的秘诀
- 深度掌握 Nginx 监控运维 一篇就够
- Python 的“八宗罪”细数,你是否认同
- 复盘 Google 中国搜索 App:从秘密开发、员工抗议到戛然而止
- JavaScript 面向对象中创建对象的三种方法
- 京东到家订单中心 Elasticsearch 的演进之路
- JavaScript 工作原理:事件循环与异步编程的兴起及 5 种优化 async/await 编码之法
- 手把手教你迈入神经网络的新手之门
- 苏宁为何在众多 OLAP 引擎中选择 Druid ?
- 开发:老板竟让我写 Bug,如何是好?
- 两万多租房数据爬取,呈现广州房租现状
- 这种有序神经元与熟知的循环神经网络相似吗?
- 近期 Java 后端开发面试经验与感受
- Java 中的时间处理,你是否真的懂?
- 2019 年必收藏的 15 个 JavaScript 与 CSS 动画库