js遍歷物件和陣列的方法總結01

2021-09-29 11:40:09 字數 2290 閱讀 1510

方法

是否遍歷原型鏈

是否包含symbol屬性

返回結果

for…in是否

輸出的是物件自身的屬性以及原型鏈上可列舉的屬性

object.keys()否否

返回包含物件自身可列舉屬性的陣列

object.getownpropery()否否

返回自身的所有屬性(可列舉屬性和不可列舉屬性)

reflect.ownkeys()否是

返回物件自身的所有屬性(包含symbol或字串,列舉屬性和不可列舉屬性)

遍歷自身以及原型鏈上可列舉的屬性。不包含symbol屬性

var obj =

;//在原型鏈上新增屬性

object.prototype.nation =

'中國'

; object.

defineproperty

(obj,

'country',)

; object.

defineproperty

(obj,

'hobby',)

;//使用for in進行遍歷

for(key in obj)

執行結果:

name:tom

age:12

***:female

nation:中國

返回的是乙個包含物件自身可列舉屬性的陣列(不含symbol屬性).

var obj =

;//在原型鏈上新增屬性

object.prototype.nation =

'中國'

; object.

defineproperty

(obj,

'country',)

; object.

defineproperty

(obj,

'hobby',)

;var resultarr = object.

keys

(obj)

; console.

log(resultarr)

;

執行結果:

["name", "age", "***"]
輸出物件自身所有屬性(包括不可列舉的屬性)

var obj =

;//在原型鏈上新增屬性

object.prototype.nation =

'中國'

;//在obj上新增屬性,並設定是否可列舉

object.

defineproperty

(obj,

'country',)

; object.

defineproperty

(obj,

'hobby',)

;var resultarr = object.

getownpropertynames

(obj)

; console.

log(resultarr,obj)

;

執行結果:

以陣列的形式返回物件自身的所有屬性,不管屬性名是symbol或字串,也不管是否可列舉

var obj =

;//在原型鏈上新增屬性

object.prototype.nation =

'中國'

;//在obj上新增屬性,並設定是否可列舉

object.

defineproperty

(obj,

'country',)

; object.

defineproperty

(obj,

'hobby',)

;var resultarr = reflect.

ownkeys

(obj)

; console.

log(resultarr)

;

執行結果:

JS遍歷物件和陣列總結

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

JS物件和陣列的遍歷方法

1 使用object.keys 遍歷 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 var obj object.keys obj foreach function key 輸出 a b c 2 使用for.in.遍歷 迴圈遍歷物件自身的和繼承的可列舉屬性 不含sy...

JavaScript遍歷物件和陣列的方法總結

日常開發中我們難免需要對陣列和物件進行遍歷,今天抽空來總結下遍歷陣列和物件常用的方法。我們定義乙個陣列 var arr 2,4,6 1.使用for迴圈遍歷var length arr.length 2.使用foreach遍歷arr.foreach val,index 3.使用for in 遍歷for...