我需要进行一些调试才能看到一个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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。