Object.keys()

  • Object.keys() 只返回可枚举属性的键名字符串。
  • Object.getOwnPropertyNames() 返回可枚举和不可枚举属性的键名字符串。
  • Object.getOwnPropertySymbols() 返回 Symbol 类型的属性的键。
  • Reflect.ownKeys() 返回所有属性的键名,包括可枚举属性、不可枚举属性和 Symbol 属性。
const obj = null;
const keys = Object.keys(obj);  // 抛出 TypeError 错误

// 数字有效值 [0 , 2^32 - 2] ,其他数字就当字符串
console.log(Object.keys({
    2: 'aa',
    1: 'cc',
    0: 'dd',
    3: 'bb'
}))// [ '0', '1', '2', '3' ]

console.log(Object.keys({
    2: 'aa',
    1: 'cc',
    '-4': 'dd',
    '-1': 'dd',
    3: 'bb'
}))// [ '1', '2', '3', '-4', '-1' ]
console.log(Object.keys({
    c: 11,
    bb: 22,
    a: 33
}))// [ 'c', 'bb', 'a' ]
console.log(Object.keys({
    2: 11,
    1: 22,
    b: 33,
    a: 44,
    3: 55
}))// [ '1', '2', '3', 'b', 'a' ]
console.log(Object.keys({
    [Symbol()]: 1,
}))// []
console.log(Object.keys({
    [true]: 1,
    [undefined]: 1,
    [null]: 1,
    [/0-1/]: 1,
    [Math]: 1,
}))// [ 'true', 'undefined', 'null', '/0-1/', '[object Math]' ]

console.log(Object.keys({
    2: 'aa',
    f: 5,
    1: 'd',
    4294967295: 'cc',  // 2^32 - 1
    d: 4,
    '-3': 'bb',
    4294967294: 'cc',  // 2^32 - 2
}))// [ '1', '2', '4294967294', 'f', '4294967295', 'd', '-3' ]

console.log(Object.keys('omg'))// [ '0', '1', '2' ]
console.log(Object.keys(["a", "c", "b"]))// [ '0', '1', '2' ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值