一、Object.keys()
- Object.keys() 方法会返回一个由给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性)。返回值是这个对象的所有可枚举属性组成的字符串数组。
object对象没有length属性,可以通过Object.keys(person).length,来获取person的长度了
Object.prototype.say="hhh";
let person ={ age: 18 };
console.log(Object.keys(person)); // ["age"]
二、Object.entries()
Object.entries()方法返回一个给定对象自身可枚举属性(不含继承)的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。
let person = { name: "hzy", age: 18 };
console.log(person.entries()); // [['name','hzy'],['age','18']]
let arr = [1, 2];
console.log(arr.entries()); // [['0','1'],['1','2']]
三、Object.values()
Object.values()方法返回一个给定对象自身的所有可枚举属性值(不含继承)的数组,值的顺序与使用for…in循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。
let obj = { 0:'a', 1:'b' }
console.log(Object.values(obj)); // ['a', 'b']