ES6學習 物件屬性的遍歷

2021-09-25 17:34:26 字數 1263 閱讀 8344

es6一共有5種方法可以遍歷物件的屬性。

(1)for...in

for...in迴圈遍歷物件自身的和繼承的可列舉屬性(不含symbol屬性)。

(2)object.keys(obj)

object.keys返回乙個陣列,包括物件自身的(不含繼承的)所有可列舉屬性(不含symbol屬性)。

(3)object.getownpropertynames(obj)

object.getownpropertynames返回乙個陣列,包含物件自身的所有屬性(不含symbol屬性,但是包括不可列舉屬性)。

(4)object.getownpropertysymbols(obj)

object.getownpropertysymbols返回乙個陣列,包含物件自身的所有symbol屬性。

(5)reflect.ownkeys(obj)

reflect.ownkeys返回乙個陣列,包含物件自身的所有屬性,不管是屬性名是symbol或字串,也不管是否可列舉。

/遍歷屬性/

let obj = ;

object.keys(obj); //["a", "b", "c"]返回物件屬性陣列

/object.keys遍歷value/

let obj = };

object.values(obj); //[1, 2, f]返回物件屬性value值陣列

/遍歷鍵值對

let obj = };

object.entries(obj); [['a',1],['b', 2], ['c',f]返回物件鍵值對陣列

/遍歷屬性(列舉+不可列舉)/

let obj = };

object.getownpropertynames(obj); ["a", "b", "c"]返回物件包括不可列舉的屬性陣列

以上的5種方法遍歷物件的屬性,都遵守同樣的屬性遍歷的次序規則。

reflect.ownkeys() // ['2', '10', 'b', 'a', symbol()] 

上面**中,reflect.ownkeys方法返回乙個陣列,包含了引數物件的所有屬性。這個陣列的屬性次序是這樣的,首先是數值屬性210,其次是字串屬性ba,最後是symbol屬性。

ES6 屬性的遍歷

1.for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2.obejct.keys obj 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3.object.getownpropertynames obj 返回乙個陣列,包含物件自身的所有屬性 不...

ES6 屬性的遍歷

可列舉屬性 描述物件的 enumerable 屬性成為 可列舉性 如果該屬性為 false,就表示某些操作會忽略當前屬性。for in,object.keys json.stringify 1 for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含 symbol 屬性 2 object.keys ...

ES6 屬性的遍歷

es6 一共有6種方法可以遍歷物件的屬性 1 for.in for.in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2 object.keys obj object.keys 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3 object.geto...