编程语言
首页 > 编程语言> > javascript – 在console.log中显示对象属性的原始顺序

javascript – 在console.log中显示对象属性的原始顺序

作者:互联网

我需要进行一些调试才能看到一个JavaScript对象属性的原始顺序,但(至少在chrome devtools中)console.log()显示了一个按字母顺序排列的对象.

例如:

var obj = {
    z: 1,
    t: 2,
    y: 3,
    a: 4,
    n: 5,
    k: 6
}

console.log(obj)显示了这个:

Object {z: 1, t: 2, y: 3, a: 4, n: 5…}
a:4
k:6
n:5
t:2
y:3
z:1

//expected (needed ) original order
z: 1
t: 2
y: 3
a: 4
n: 5
k: 6

解决方法:

console.log确实对属性进行排序,在某些情况下,您可以使用保留顺序的JSON.stringify,例如

console.log(JSON.stringify(obj, null /*replacer function */, 4 /* space */))

注意:与流行的看法相反,js对象维护枚举顺序,按照OwnPropertyKeys specification(首先是整数,然后是插入顺序中的其他属性)

标签:console-log,javascript
来源: https://codeday.me/bug/20190926/1820179.html