ES对象方法

2018-12-24  本文已影响0人  大鸿先生

ES7

Object.keys(obj)

传入一个对象,返回一个包含对象的可枚举属性和方法的名称的、所有元素为字符串的数组。

ES6之后传入的不是对象也可以强制转换为对象,而在ES5中,如果传入的不是对象会报错:xx is not an object。

ES6中传入的不是对象的具体返回值:

传入字符串,返回索引值。

传入数组,返回索引值。

传入数组,返回索引值

构造函数,返回空数组或者属性名

通俗而不严谨的说,就是返回一个由对象的属性名/方法名组成的数组。

一个正常的code狗在脑子还算清醒的情况下

注意:keys 方法仅返回可枚举属性和方法的名称;若要返回可枚举和不可枚举属性和方法的名称,可以使用Object.getOwnPropertyNames()函数。

那么问题来了,学以致用嘛,当你想遍历对象的所有值时,该怎么做?

遍历对象的所有值

诶意外发现了一种把对象转换成数组的方法啊哈哈 ~

好了,这种方法看起来很好用,但是ES7已经老了,让我们试试看如果使用ES8如何操作:

ES8

Object.values()

遍历对象的所有值

这两种方式得到的结果是一致的,也就是说Object.values()帮我们省去了遍历key,并根据这些key获取value的步骤,可以直接得到对象的键值组成的数组。

那么也就是这两种方法,通俗而不严谨的,我们可以理解成,Object.keys()可以帮我们获取对象键名组成的数组,Object.values()可以帮我们获取对象键值组成的数组,真的超级方便了。

ES8还为我们提供了一种方法,用来返回一个给定对象自身可枚举属性的键值对的数组。

Object.entries()

例一 例二

也是超级贴心了~

上一篇下一篇

猜你喜欢

热点阅读