遍历对象/判断数据类型--将数据中number转string

275 阅读1分钟
const data = response.data
Object.keys(data).forEach((key) => {
  if (typeof data[key] === 'number') data[key] = data[key].toString()
})
this.formData = data

遍历对象

  • for in 最基础的遍历对象的方式,会得到对象原型链上的属性
for (let key in obj) { 
    console.log(obj[key]) 
}

在这种情况下可以使用对象的 hasOwnProperty() 方法过滤掉原型链上的属性

for (let key in obj) { 
    if (obj.hasOwnProperty(key)) { 
        console.log(obj[key])
} }
  • Object.keys 该方法返回对象自身属性名组成的数组,它会自动过滤掉原型链上的属性,可以通过数组的 forEach() 方法来遍历
Object.keys(obj).forEach((key) => { console.log(obj[key]) })

Object.values() 方法和 Object.entries() 方法,这两方法的作用范围和 Object.keys() 方法类似

for in 循环和 Object.keys() 方法都不会返回对象的不可枚举属性

  • Object.getOwnPropertyNames 该方法返回对象自身属性名组成的数组,包括不可枚举的属性,也可以通过数组的 forEach 方法来遍历

  • Object.getOwnPropertySymbols 返回对象自身的 Symbol 属性组成的数组,不包括字符串属性

  • Reflect.ownKeys 返回对象自身所有属性名组成的数组,包括不可枚举的属性和 Symbol 属性

判断数据类型

  • typeof typeof返回的类型都是字符串形式,需注意
https://www.jb51.net/article/102972.htm