Javascript Object.entries() 用法详解
【摘要】 Object.entries() 定义Object.entries() 是 JavaScript 的一个内置方法,它返回一个给定对象自身可枚举属性的键值对数组,其排列与通过手动遍历对象属性返回的顺序一致(区别在于 for...in 循环枚举原型链中的属性)。数组中每个元素都是一个包含两个元素的数组,第一个元素是键名,第二个元素是键值。 用法详解语法:Object.entries(obj)o...
Object.entries() 定义
Object.entries()
是 JavaScript 的一个内置方法,它返回一个给定对象自身可枚举属性的键值对数组,其排列与通过手动遍历对象属性返回的顺序一致(区别在于 for...in
循环枚举原型链中的属性)。数组中每个元素都是一个包含两个元素的数组,第一个元素是键名,第二个元素是键值。
用法详解
语法:
Object.entries(obj)
obj
:要返回其键值对的对象。
返回值:
- 一个数组,其元素是键值对数组,每个键值对数组的第一个元素是键名(字符串类型),第二个元素是键值(可以是任何类型)。
示例代码:
const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj));
// 输出: [['foo', 'bar'], ['baz', 42]]
// 转换对象到 Map
const map = new Map(Object.entries(obj));
console.log(map);
// 输出: Map(2) { 'foo' => 'bar', 'baz' => 42 }
// 遍历对象的键值对
for (const [key, value] of Object.entries(obj)) {
console.log(`${key}: ${value}`);
}
// 输出:
// foo: bar
// baz: 42
// 使用 Object.entries() 转换对象并过滤键值对
const filteredEntries = Object.entries(obj).filter(([key, value]) => typeof value === 'string');
console.log(filteredEntries);
// 输出: [['foo', 'bar']]
// 将键值对数组转换回对象
const newObj = Object.fromEntries(filteredEntries);
console.log(newObj);
// 输出: { foo: 'bar' }
注意事项:
Object.entries()
只返回对象自身的可枚举属性,不包括从原型链上继承的属性。- 返回的数组中的键值对顺序与通过手动遍历对象属性时的顺序一致。
- 可以使用
for...of
循环来遍历Object.entries()
返回的数组。 Object.entries()
方法可以与Object.fromEntries()
方法结合使用,以实现对象与键值对数组之间的转换。
使用场景:
- 当需要将对象的键值对转换为数组进行处理时,可以使用
Object.entries()
。 - 在需要遍历对象的键值对时,
Object.entries()
提供了一种更直观、更易于理解的方式。 - 在处理对象时,如果需要过滤、映射或转换键值对,可以先使用
Object.entries()
将对象转换为数组,然后进行相应的操作,最后使用Object.fromEntries()
将数组转换回对象(如果需要的话)。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)