技术文摘
在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 对象操作 键转换 新对象生成
- 如何开启MySQL慢查询
- MySQL 整型使用方法
- PHP与MySQL中日期转换为时间戳的方法
- 如何配置 Redis 集群主从模式
- Mysql 里 tinyint(1) 与 tinyint(4) 有何区别
- MySQL驱动程序如何安装
- Redis 常见使用方法有哪些
- Python读取千万级数据并自动写入MySQL数据库的方法
- CentOS 部署 redis 数据库的方法
- Redis 如何实现延迟队列
- Docker 中安装运行 MySQL 的方法
- SpringBoot 如何与 Redis 进行整合
- 什么是MySQL脏页
- MySQL创建表时如何设置表主键id从1开始自增
- 如何搭建基于Docker的Redis集群