Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致

不会查找prototype

语法

Object.keys(obj)

参数

obj
要返回其枚举自身属性的对象。

返回值

一个表示给定对象的所有可枚举属性的字符串数组。

  1. // simple array
  2. var arr = ['a', 'b', 'c'];
  3. console.log(Object.keys(arr)); // console: ['0', '1', '2']
  4. // array like object
  5. var obj = { 0: 'a', 1: 'b', 2: 'c' };
  6. console.log(Object.keys(obj)); // console: ['0', '1', '2']
  7. // array like object with random key ordering
  8. var anObj = { 100: 'a', 2: 'b', 7: 'c' };
  9. console.log(Object.keys(anObj)); // console: ['2', '7', '100']
  10. // getFoo is a property which isn't enumerable
  11. var myObj = Object.create({}, {
  12. getFoo: {
  13. value: function () { return this.foo; }
  14. }
  15. });
  16. myObj.foo = 1;
  17. console.log(Object.keys(myObj)); // console: ['foo']