技术文摘
在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 对象操作 键转换 新对象生成
- 优雅处理 Goroutine:Context 与 WaitGroup 的运用
- 探讨 K8s 中 Nginx Ingress 的优化
- Synchronized 中的四个优化,你知晓多少?
- 八款值得力荐的微服务测试工具
- 面试官:Git 中 Fork、Clone、Branch 概念的区别解析
- SpringIOC 面试题(上):学妹必看
- Python 网络爬虫与自动化:助你打造专属虚拟女神(附源码)
- 系统性能优化的关键指标
- 终于摆脱 Pipenv 这“坑货”
- ThreadLocal 为何易致内存泄漏
- HarmonyOS UI 框架解密
- 四种策略保障 RabbitMQ 消息发送的可靠性 你选哪种
- SVG Favicon 的惊人之处,你竟还不知!
- Nodejs 中间件原理的深入与浅出
- 拷贝代码竟有这般好处