回答編集履歴
2
こまごま修正
answer
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
`Object.keys`や`for-in`などでは一定の順序を返してきますが、それは**ブラウザ依存**のもので、JavaScriptの利用者側からは制御できません。
|
4
4
|
|
5
|
-
```
|
5
|
+
```javascript
|
6
6
|
// 多くのブラウザでは、数値のキーを先に持ってきて「["57", "foo"]」のような順序で返す
|
7
7
|
// でも、仕様上は「["foo", "57"]」でも問題はない
|
8
8
|
Object.keys({foo: 2, '57': 'hoge'});
|
9
9
|
```
|
10
10
|
|
11
|
-
なお、単純な
|
11
|
+
なお、単純な`Object`ではない`Map`を使う場合は、「挿入順に処理される」ことが保証されています([MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map))。
|
1
Mapは順番保証あり
answer
CHANGED
@@ -6,4 +6,6 @@
|
|
6
6
|
// 多くのブラウザでは、数値のキーを先に持ってきて「["57", "foo"]」のような順序で返す
|
7
7
|
// でも、仕様上は「["foo", "57"]」でも問題はない
|
8
8
|
Object.keys({foo: 2, '57': 'hoge'});
|
9
|
-
```
|
9
|
+
```
|
10
|
+
|
11
|
+
なお、単純な連想配列ではない`Map`を使う場合は、「挿入順に処理される」ことが保証されています([MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map))。
|