Object.keys()遇到那些问题

// 数字有效值 [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' ]
console.log(Object.keys(["a", "c", "b"]))// [ '0', '1', '2' ]

猜你喜欢

转载自blog.csdn.net/formylovetm/article/details/127380180