简介
ES2016(ES7)中新增了 Object.entries() 方法,该方法可以将一个对象转换为一个由键值对数组组成的数组。其中,每个键值对数组包含两个元素,第一个元素是对象的属性名(键),第二个元素是该属性名所对应的属性值。该方法的主要作用是方便地遍历对象的属性。
语法
Object.entries(obj)
- obj:要转换为键值对数组的对象。
示例
-- -------------------- ---- ------- ----- --- - - ----- ----- ---- --- ------- ------ -- ----- ------- - -------------------- --------------------- -- ---- -------- ------ ------- ---- ---------- ------- -
深度解析
遍历对象的属性
使用 Object.entries() 方法可以方便地遍历对象的属性,示例代码如下:
-- -------------------- ---- ------- ----- --- - - ----- ----- ---- --- ------- ------ -- --- ------ ----- ------ -- -------------------- - -------------------- ----------- - -- --- -- ----- -- -- ---- -- -- ------- ----
上述代码中,我们使用了 for...of 循环和解构赋值来遍历对象的属性。其中,变量 key 和 value 分别表示键和值。
将对象转换为 Map
Object.entries() 方法返回的是一个由键值对数组组成的数组,因此可以使用该方法将一个对象转换为 Map,示例代码如下:
-- -------------------- ---- ------- ----- --- - - ----- ----- ---- --- ------- ------ -- ----- --- - --- ------------------------- ----------------- -- ------ - ------ -- ----- ----- -- --- -------- -- ------ -
上述代码中,我们使用了 Map 构造函数和 Object.entries() 方法将一个对象转换为 Map。
其他用途
Object.entries() 方法还可以用于判断一个对象是否为空对象(即不包含任何属性),示例代码如下:
function isEmpty(obj) { return Object.entries(obj).length === 0; } console.log(isEmpty({})); // 输出:true console.log(isEmpty({ name: '张三' })); // 输出:false
上述代码中,我们定义了一个名为 isEmpty() 的函数,该函数接受一个对象作为参数,如果该对象不包含任何属性,则返回 true,否则返回 false。
总结
Object.entries() 方法是 ES2016(ES7)中新增的一个方法,该方法可以将一个对象转换为一个由键值对数组组成的数组,方便地遍历对象的属性。除此之外,该方法还可以用于将对象转换为 Map,判断一个对象是否为空对象等。在实际开发中,我们可以结合解构赋值、for...of 循环等语法来灵活使用该方法,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65fc7cfbd10417a2227ed279