当前位置:首页 >  站长 >  编程技术 >  正文

JS遍历对象,获取key:value

 2020-11-05 16:09  来源: 田珊珊个人博客   我来投稿 撤稿纠错

  域名预订/竞价,好“米”不错过

1、使用Object.keys()遍历

返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含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..遍历

循环遍历对象自身的和继承的可枚举属性(不含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() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。

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

返回一个数组,包含对象自身的所有属性(不含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)遍历

返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举

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

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

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

});

返回值:

// 1 a

// 2 b

附:对象的基础用法

对象声明:

1.var obj = {}//字面量,建议这种方式(方便初始化赋值)

2.var obj = new Object();

对象赋值:

1.obj.name = "zhangsan"

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

访问对象属性值:

1.obj.name

2.obj["name"] ==》底层转化为这种,所以建议使用

删除对象中的属性:

delete obj["name"]

文章来源:田珊珊个人博客

来源地址:http://www.tianshan277.com/730.html

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

热门排行

信息推荐