互联网技术 · 2024年2月15日

使用JS遍历对象获取键值对

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”]

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册