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()的使用