Object.keys()问题

256 阅读1分钟

在输出 keys 时会先将所有 key 为数组索引类型(正整数)从小到大的顺序排序,然后将所有字符串类型(包括负数、浮点数)的 key 按照实际创建的顺序来排序

假如有浮点数,并不会从小排列

注意: Symbol 属性是不会被返回

const a = {'2': 123, '4': 32, '3': 34555}
Object.keys(a)

// (3) ['2', '3', '4'] 没有按照创建的顺序返回

const b = {'2.1': 123, '4': 32, '3': 34555}

Object.keys(b)

// (3) ['3', '4', '2.1']