js如何获取对象中的所有属性

方法一:for...in

循环遍历对象的所有属性,并逐个输出它们的值;每次执行时,都会将一个属性名赋值给所定义的变量

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  男  北京
    }

方法二:Object.keys()

输出一个对象的所有属性名,该方法返回一个数组,数组内包括对象内可枚举属性

let obj = {
      name: 'zs',
      age: 18,
      gender: '男',
      address: '北京'
    }
let arr = Object.keys(obj)
console.log(arr);//打印['name', 'age', 'gender', 'address']

方法三:Object.values()

输出一个对象的所有属性值。该方法返回一个数组,数组内包含对象自身所有可枚举属性值。

let obj = {
      name: 'zs',
      age: 18,
      gender: '男',
      address: '北京'
    }
let arr = Object.values(obj)
console.log(arr);//打印['zs', 18, '男', '北京']

方法四:for...of

主要用于遍历可迭代对象(包括数组、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
    }

你可能感兴趣的:(javascript,前端)