我正在创建一个 JavaScript 对象,如下所示
var myObjects ;
for(var i = 0; i <10;i++){
var eachObject = {"id" : i};
myObjects .push(eachObject );
}
message = {
"employeeDetails" : myObjects
}
之后我将它们字符串化如下
JSON.stringify(message);
上述方法是否按照对象之前的顺序对对象进行字符串化? stringify 后它们的顺序是 0,1,2....9 吗?
最佳答案
文档中没有任何内容明确确认数组项的顺序被保留。但是,文档指出,对于非数组属性,不保证顺序:
Properties of non-array objects are not guaranteed to be stringified in any particular order. Do not rely on ordering of properties within the same object within the stringification.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
即使数组项的顺序被保留,我也不会指望这一点,而是自己对项进行排序。毕竟,很可能会有一些业务或表示逻辑来指示项目应如何排序。
关于javascript - JSON.stringify 是否保留数组中对象的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46570885/