技术文摘
在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 对象操作 键转换 新对象生成
- 一行 Python 代码打造高级财务图表
- 工业垂直领域中 AR 与物联网应用的优势何在
- JavaScript 内存泄漏检测神器推荐
- Python 十大内置文件操作
- 怎样优雅地中断 Promise
- axios 拦截器封装达成用户无感刷新 access_token 之实现
- Spring 中异步调用的实现方式有哪些速解
- 学完 HTML、CSS 相关知识后能做哪些练手项目?
- 精心设计的消息中间件高扩展架构,快写进简历
- 您是否真正了解 JDK ?
- 浅析 Spring MVC 中的九大组件
- Java/Spring/Spring Boot 异步多线程的深度解析与浅出讲解
- Go 编程语言中文本文件使用指南
- 你是否听说过破坏单例模式 而单例模式众人皆知
- Python 打造酷炫交通数据可视化