一、语法
Object.keys(obj) :返回其枚举自身属性的对象
二、处理对象,返回可枚举的属性数组
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
Object.keys(person) // ["name", "age", "address","getName"]
三、处理数组,返回索引值数组
let arr = [1,2,3,4,5,6]
Object.keys(arr) // ["0", "1", "2", "3", "4", "5"]
四、处理字符串,返回索引值数组
let str = "saasd字符串"
Object.keys(str) // ["0", "1", "2", "3", "4", "5", "6", "7"]
五、常用技巧
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
Object.keys(person).map((key)=>{
person[key] // 获取到属性对应的值,做一些处理
})
六、Object.values() 和 Object.keys()是相反的操作,把一个对象的值转换为数组
例1: let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
Object.values(person) // ['张三', 25, '深圳', ?]
例2: Object.values('saasd字符串') // ['s', 'a', 'a', 's', 'd', '字', '符', '串']
Object.assign(): (涉及 深拷贝 ,浅拷贝)
Object.create(proto): 创建一个新对象,返回新对象(涉及原型 和 原型链)
- 可以实现对象的继承
- 可以通过对象实例的 __proto__ 属性访问原型链上的属性。
- proto:新创建对象的原型对象
参考资料:https://www.cnblogs.com/dhui/p/13890731.html