循环遍历对象的所有属性,并逐个输出它们的值;每次执行时,都会将一个属性名赋值给所定义的变量
let obj = {
name: 'zs',
age: 18,
gender: '男',
address: '北京'
}
//输出对象内的属性名
for (let propName in obj) {
console.log(propName);//打印属性名-->name age gender address
}
//输出对象内的属性值
for (let propName in obj) {
console.log(obj[propName]);//打印属性值-->zs 18 男 北京
}
输出一个对象的所有属性名,该方法返回一个数组,数组内包括对象内可枚举属性
let obj = {
name: 'zs',
age: 18,
gender: '男',
address: '北京'
}
let arr = Object.keys(obj)
console.log(arr);//打印['name', 'age', 'gender', 'address']
输出一个对象的所有属性值。该方法返回一个数组,数组内包含对象自身所有可枚举属性值。
let obj = {
name: 'zs',
age: 18,
gender: '男',
address: '北京'
}
let arr = Object.values(obj)
console.log(arr);//打印['zs', 18, '男', '北京']
主要用于遍历可迭代对象(包括数组、Set、Map、字符串等)
这种循环语句遍历的是对象的值,而不是键。因此,我们在使用 for...of 循环时,可以直接获得每个元素的值,而不需要通过下标或属性名来访问。
let arr = [1, 2, 3]
for (let value of arr) {
console.log(value);
// 输出结果为:
// 1
// 2
// 3
}
for (let value of 'hei') {
console.log(value);
// 输出结果为:
// h
// e
// i
}