Angular 在typescript中对Json对象键重新排序
例如下面的例子Angular 在typescript中对Json对象键重新排序,angular,typescript,Angular,Typescript,例如下面的例子 [ {'1000': '', '5000': '', '10000': '', 'Name': 'test1', 'Email': 'test1@gmail.com', 'Reason': ''}, {'1000': '', '5000': '', '10000': '', 'Name': 'test2', 'Email': 'test2@gmail.com', 'Reason': ''} ] 有没有一种方法可以像这样重新排序: [ {'Name': '
[
{'1000': '', '5000': '', '10000': '', 'Name': 'test1', 'Email': 'test1@gmail.com', 'Reason': ''},
{'1000': '', '5000': '', '10000': '', 'Name': 'test2', 'Email': 'test2@gmail.com', 'Reason': ''}
]
有没有一种方法可以像这样重新排序:
[
{'Name': 'test1', 'Email': 'test1@gmail.com', '1000': '', '5000': '', '10000': '', 'Reason': ''},
{'Name': 'test2', 'Email': 'test2@gmail.com', '1000': '', '5000': '', '10000': '', 'Reason': ''}
]
在您的特定情况下,答案是否定的。尽管ES6以及现代浏览器标准和实现保证了对象属性的顺序,但有一个主要的例外:整数索引 由于您的对象具有“1000”、“5000”和“10000”等键,您将无法实现所需的顺序;这些整数索引将始终位于第一位 按以下顺序遍历属性键: 首先,这些键是按数字升序排列的整数索引。 然后,所有其他字符串键,按照它们添加到对象的顺序。 [……] 大致上,整数索引是一个字符串,如果转换为53位非负整数,则返回相同的值。因此: “10”和“2”是整数索引。 “02”不是整数索引。将其转换为整数并返回将导致不同的字符串“2”。 “3.141”不是整数索引,因为3.141不是整数。 还有一个简单的例子: 常量对象={ Z:1, B:2, C:3 }; console.logobj//维护创建顺序 常数obj2={ 答:1,, B:2, 100: 3 }
console.logobj2//不维护创建顺序对象属性的顺序应该无关紧要。如果是的话,你手头有一个糟糕的设计。最好的方法是重新思考你的设计。。你的例子不清楚。请你加一个更清楚的例子好吗?