JavaScript 对象常用方法

183 阅读1分钟

一、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']