加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

ES6+ Object.values()介绍

发布时间:2023-03-27 08:50:21 所属栏目:教程 来源:
导读:Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用 for...in 循环的顺序相同 (区别在于 for-in 循环枚举原型链中的属性)。与 Object.keys() 相反一个是获取 key,一个是获取 value
Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用 for...in 循环的顺序相同 (区别在于 for-in 循环枚举原型链中的属性)。与 Object.keys() 相反一个是获取 key,一个是获取 value,其他的使用特性基本相同。

Object.values(obj);
参数    描述
obj    可以返回其枚举自身属性和键的对象

var obj = {a: , b: , c: };
Object.values(obj)     // [1, 2, 3]

我们知道 Object.keys() 的参数会被类型转换为对象,数值对象没有可遍历的对象,所有返回一个空数组。同样,Object.values() 和 Object.keys() 一样都会进行类型转换,所以传入的是数字或布尔值时,则返回一个空数组

console.log(Object.values());    // []
Object.values(false)    // []

我们学习 Object.keys() 会对属性是数值的键进行排序,在这个过程中属性对应的值也会跟着改变位置,所有使用 Object.values() 返回的数组是按 Object.keys() 顺序后的结果展示的,所以得到的值要和排序后的属性一一对应。

var obj = {: 'a', : 'b', : 'c'};
Object.values(obj)    // ['b', 'c', 'a']

values() 传入的对象如果是一个字符串时,则会把字符拆成数组中的单个项,如下:

Object.values('abc')    // ['a', 'b', 'c']

主要讲解了 ES6 提供了获取可枚举对象上的属性值的方法,这个方法可以很方便地获取对象上的属性值用于遍历。提高代码的简洁性。这里需要注意的是在获取属性值时会对属性为数值类型的键进行排序,所以对应的属性值也会跟着一起被排序,所以得到的结果会有所不同。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章