【发布时间】:2020-04-02 22:28:39
【问题描述】:
我正在 python Flask 中创建一个包含字符串的字典。 顺序是这样的:
dict = {01:'string1', 02:'string', 03:'string3',..., 10:'string10', 11:'string11'}
排序的顺序是0,1,2,...,9
一旦我将此 dict 传递给我的 javascript,字典就会使用这种排序方法进行排序:
dict = {10:'string10', 11:'string11',...,01:'string1', 02:'string', 03:'string3' }
排序顺序为 1,2,3,...,9,0
当我将字典从 python 烧瓶传递到 JS 时,如何保持排序顺序
【问题讨论】:
-
字典(或 js 中的对象)没有键的排序,因此除非将其切换为数组,否则无法保证排序。
-
@Aplet123 - 他们有,但是如果合适的话,很少使用这个顺序。
-
JavaScript 没有字典,它有不能保证被排序的对象/JSON。
-
@AlexW - objects != JSON :-) 自 2015 年以来,对象属性就有了秩序。(但正如我上面所说:使用它几乎从来都不是一个好主意。 ..)
-
让我们具体一点。正如@Aplet123 提到的,Python 字典没有顺序。创建字典后不会保留排序顺序。您的解决方案是在 JavaScript 端按键对对象进行排序。使用
dict内置作为变量名也不是好习惯。
标签: javascript python flask