1、for … in 循环遍历
对象自身的和继承的可枚举属性(循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).).
let obj = {
name: '小明',
age: '20'
}
for(let i in obj) {
console.log(i, ':', obj[i]);
}
结果如下图:
2、使用Object.keys()遍历
返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)
let obj = {
name: '小明',
age: '20'
}
Object.keys(obj).forEach((item)=>{
console.log(item, ':', obj[item]);
})
结果如下图:
使用Object.values()遍历
返回的是value值。(跟Object.keys()相反,返回的是key值) 对象转换数组时可用。
let obj = {
name: '小明',
age: '20'
}
console.log(Object.values(obj))
结果如下图:
3、使用Object.getOwnPropertyNames(obj)
返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
let obj = {
name: '小明',
age: '20'
}
Object.getOwnPropertyNames(obj).forEach((item)=>{
console.log(item, ':', obj[item])
})
结果如下图:
4、使用Reflect.ownKeys(obj)遍历
返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.
let obj = {
name: '小明',
age: '20'
}
Reflect.ownKeys(obj).forEach((item)=>{
console.log(item, ':', obj[item])
})
结果如下图:
1、使用forEach遍历
let arr = ['小明', '20', '小红', '19']
arr.forEach((index, item)=>{
console.log(index, item);
})
结果如下图:
let arr = ['小明', '20', '小红', '19']
for(let item in arr){
console.log(item, arr[item]);
}
结果如下图:
let arr = ['小明', '20', '小红', '19']
for(let item of arr){
console.log(item);
}
结果如下图: