ES8 中 Object.values()、Object.entries() 方法详解

在 ES8 中,JavaScript 引入了 Object.values() 和 Object.entries() 方法,用于获取对象的值和键值对数组。这两个方法大大简化了对象的遍历和检索,让前端开发更加高效。

Object.values() 方法

Object.values() 方法返回一个由对象值组成的数组。简单的说,就是把对象中所有的属性值提取出来,然后放到一个数组中返回。

用法如下:

下面是一个更加实际的例子:

这个例子中,我们使用 Object.values() 方法来快速获取所有用户的姓名,然后使用 map() 方法生成一个新的数组。

需要注意的是,Object.values() 方法只会获取对象的可枚举属性值。如果对象中包含了不可枚举属性或者原型链中的属性,这些属性值就不会被返回。

Object.entries() 方法

Object.entries() 方法返回一个由键值对数组组成的数组。每个键值对数组含有两个元素,第一个是属性名,第二个是对应的属性值。

用法如下:

同样,下面是一个更加实际的例子:

需要注意的是,Object.entries() 方法同样只会返回对象的可枚举属性。如果需要获取不可枚举属性或者原型链中的属性,可以使用 Object.getOwnPropertyNames() 或者 Object.getOwnPropertySymbols() 方法。

总结

Object.values() 和 Object.entries() 方法是 ES8 中新增的两个非常实用的方法,它们可以大大简化对象的遍历和检索。需要注意的是,它们只返回对象的可枚举属性,如果需要获取不可枚举属性或者原型链中的属性,需要使用其他方法。

希望这篇文章能够帮助大家更加深入地理解 Object.values() 和 Object.entries() 方法的使用方法。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6542ae847d4982a6ebc55faf


纠错
反馈