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
方法返回乙個陣列,包含了引數物件的所有屬性。這個陣列的屬性次序是這樣的,首先是數值屬性2
和10
,其次是字串屬性b
和a
,最後是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...