Object.keys

Posted 地铁程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object.keys相关的知识,希望对你有一定的参考价值。

语法

Object.keys(obj)

参数

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

返回值

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

描述

Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的对象上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

 

例子

/* Array 对象 */ 
let arr = ["a", "b", "c"];
console.log(Object.keys(arr)); 
// [\'0\', \'1\', \'2\']

/* Object 对象 */ 
let obj = { foo: "bar", baz: 42 }, 
    keys = Object.keys(obj);
// CCAC: Chrome Console Auto Copy
copy(keys); 
// ["foo","baz"]

/* 类数组 对象 */ 
let obj = { 0 : "a", 1 : "b", 2 : "c"};
console.log(Object.keys(obj)); 
// [\'0\', \'1\', \'2\']

注意:
var obj = { 0:"a", 1:"b", 2:{3:"c", 4:"d"}};
console.log(Object.keys(obj));
// (3) ["0", "1", "2"]

// 类数组 对象, 随机 key 排序 
let anObj = { 100: \'a\', 2: \'b\', 7: \'c\' }; 

console.log(Object.keys(anObj)); 
// [\'2\', \'7\', \'100\']

/* getFoo 是个不可枚举的属性 */ 
var my_obj = Object.create(
   {}, 
   { getFoo : { value : function () { return this.foo } } }
);
my_obj.foo = 1;

console.log(Object.keys(my_obj)); 
// [\'foo\']

如果你想获取一个对象的所有属性,,甚至包括不可枚举的,请查看Object.getOwnPropertyNames

以上是关于Object.keys的主要内容,如果未能解决你的问题,请参考以下文章

Object.keys(),Object.values(),Object.entries()

Javascript:为啥是 Object.keys(someobject),而不是 someobject.keys?

Joi.object() 和 Joi.object().keys() 有啥区别?

关于Object.keys()和Object.values()的使用

关于Object.keys()和Object.values()的使用

Object.keys/values/entries