js遍历对象的几种方法
程序员文章站
2022-04-10 12:32:48
...
第一种: for…in
const obj = {
id:1,
name:'zhangsan',
age:18
}
for(let key in obj){
console.log(key + '---' + obj[key])
}
输出结果:
第二种:
1)、Object.keys(obj)
2)、Object.values(obj)
参数:
obj:要返回其枚举自身属性的对象
返回值:
一个表示给定对象的所有可枚举属性的字符串数组。
const obj = {
id:1,
name:'zhangsan',
age:18
}
console.log(Object.keys(obj))
console.log(Object.values(obj))
输出结果: obj对象的key组成的数组
[‘id’,‘name’,‘age’]
输出结果:obj对象的value组成的数组
[‘1’,‘zhangsan’,‘18’]
第三种:使用Object.getOwnPropertyNames(obj)
返回一个数组,包含对象自身的所有属性(包含不可枚举属性)
遍历可以获取key和value
const obj = {
id:1,
name:'zhangsan',
age:18
}
Object.getOwnPropertyNames(obj).forEach(function(key){
console.log(key+ '---'+obj[key])
})
使用Object.keys方法将对象的键名生成一个数组,然后遍历这个数组
for (var key of Object.keys(someObject)) {
console.log(key + ': ' + someObject[key]);
}
使用 Generator 函数将对象重新包装一下
function* entries(obj) {
for (let key of Object.keys(obj)) {
yield [key, obj[key]];
}
}
for (let [key, value] of entries(obj)) {
console.log(key, '->', value);
}
// a -> 1
// b -> 2
// c -> 3