1、使用Object.keys()遍歷
返回一個數(shù)組,包括對象自身的(不含繼承的)所有可枚舉屬性(不含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)遍歷對象自身的和繼承的可枚舉屬性(不含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方法類似。
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() 方法返回一個給定對象自身可枚舉屬性的鍵值對數(shù)組,其排列與使用 for…in 循環(huán)遍歷該對象時返回的順序一致(區(qū)別在于 for-in 循環(huán)也枚舉原型鏈中的屬性)。
3、使用Object.getOwnPropertyNames(obj)遍歷
返回一個數(shù)組,包含對象自身的所有屬性(不含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)遍歷
返回一個數(shù)組,包含對象自身的所有屬性,不管屬性名是Symbol或字符串,也不管是否可枚舉
var obj={"1":"a","2":"b"}
Reflect.ownKeys(obj).forEach(function(key){
console.log(key,obj[key]);
});
返回值:
// 1 a
// 2 b
附:對象的基礎(chǔ)用法
對象聲明:
1.var obj = {}//字面量,建議這種方式(方便初始化賦值)
2.var obj = new Object();
對象賦值:
1.obj.name = "zhangsan"
2.obj["name"] = "zhangsan"
訪問對象屬性值:
1.obj.name
2.obj["name"] ==》底層轉(zhuǎn)化為這種,所以建議使用
刪除對象中的屬性:
delete obj["name"]
文章來源:田珊珊個人博客
來源地址:http://www.tianshan277.com/730.html
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!