當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

JS遍歷對(duì)象,獲取key:value

 2020-11-05 16:09  來(lái)源: 田珊珊個(gè)人博客   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

1、使用Object.keys()遍歷

返回一個(gè)數(shù)組,包括對(duì)象自身的(不含繼承的)所有可枚舉屬性(不含Symbol屬性)

var obj={"1":"a","2":"b"}

Object.keys(obj).forEach(function (key) {

console.log(key,obj[key])

});

返回值:

// 1 a

// 2 b

2、使用for..in..遍歷

循環(huán)遍歷對(duì)象自身的和繼承的可枚舉屬性(不含Symbol屬性).

var obj={"1":"a","2":"b"}

for(var key in obj){

console.log(key,obj[key])

}

返回值:

// 1 a

// 2 b

3.使用for..of..遍歷

此方法與foreach方法類(lèi)似。

var obj={"1":"a","2":"b"}

for (var key of Object.keys(obj)) {

console.log(key,obj[key])

}

或者:

for (let [key, value] of Object.entries(obj)) {

console.log(key,value)

}

返回值:

// 1 a

// 2 b

Object.entries() 方法返回一個(gè)給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組,其排列與使用 for…in 循環(huán)遍歷該對(duì)象時(shí)返回的順序一致(區(qū)別在于 for-in 循環(huán)也枚舉原型鏈中的屬性)。

3、使用Object.getOwnPropertyNames(obj)遍歷

返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性(不含Symbol屬性,但是包括不可枚舉屬性)

var obj={"1":"a","2":"b"}

Object.getOwnPropertyNames(obj).forEach(function(key){

console.log(key,obj[key]);

});

返回值:

// 1 a

// 2 b

4、使用Reflect.ownKeys(obj)遍歷

返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性,不管屬性名是Symbol或字符串,也不管是否可枚舉

var obj={"1":"a","2":"b"}

Reflect.ownKeys(obj).forEach(function(key){

console.log(key,obj[key]);

});

返回值:

// 1 a

// 2 b

附:對(duì)象的基礎(chǔ)用法

對(duì)象聲明:

1.var obj = {}//字面量,建議這種方式(方便初始化賦值)

2.var obj = new Object();

對(duì)象賦值:

1.obj.name = "zhangsan"

2.obj["name"] = "zhangsan"

訪問(wèn)對(duì)象屬性值:

1.obj.name

2.obj["name"] ==》底層轉(zhuǎn)化為這種,所以建議使用

刪除對(duì)象中的屬性:

delete obj["name"]

文章來(lái)源:田珊珊個(gè)人博客

來(lái)源地址:http://www.tianshan277.com/730.html

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門(mén)排行

信息推薦