回答編集履歴
1
まいすまくんさんの助言を元に調査し反映
answer
CHANGED
@@ -14,17 +14,21 @@
|
|
14
14
|
1: ["1", 0, 0, 9999, 0],
|
15
15
|
aaa: ["aaa", 0, 0, 0, 0]
|
16
16
|
}
|
17
|
+
console.log(Object.keys(array))
|
18
|
+
// ["1", "2", "ccc", "あああ", "aaa"] <- 生成した瞬間に整数文字列の1と2は常に先に来るらしい
|
19
|
+
|
17
20
|
var sortedKeys = Object.keys(array).sort()
|
21
|
+
console.log(sortedKeys)
|
18
|
-
|
22
|
+
// ["1", "2", "aaa", "ccc", "あああ"] <- キーの配列に変換してからソート
|
19
23
|
|
20
24
|
var newArray = {}
|
21
25
|
for (var key of sortedKeys) {
|
22
26
|
newArray[key] = array[key]
|
23
27
|
}
|
28
|
+
console.log(Object.keys(newArray))
|
24
|
-
|
29
|
+
// ["1", "2", "aaa", "ccc", "あああ"] <- 1と2は制御出来ないが「あああ」は最後尾に移動した
|
25
|
-
// 1: (5) ["1", 0, 0, 9999, 0]
|
26
|
-
// 2: (5) ["2", 0, 0, 0, 0]
|
27
|
-
// aaa: (5) ["aaa", 0, 0, 0, 0]
|
28
|
-
// ccc: (5) ["ccc", 9999, 0, 0, 0]
|
29
|
-
// あああ: (5) ["あああ", 0, 0, 0, 9999]
|
30
|
-
```
|
30
|
+
```
|
31
|
+
|
32
|
+
【追記】 maisumakunさんの助言: オブジェクトの整数文字列のキーは制御できません
|
33
|
+
確かに制御出来ませんでした。
|
34
|
+
他のキーは一応意図通りに順序を変更出来ましたので編集して載せておきます。
|