回答編集履歴
3
注意点を追加
answer
CHANGED
@@ -23,4 +23,8 @@
|
|
23
23
|
["a", "A"]
|
24
24
|
];
|
25
25
|
```
|
26
|
-
であれば, 「2番めの値」に意味が出てきます.
|
26
|
+
であれば, 「2番めの値」に意味が出てきます.
|
27
|
+
|
28
|
+
|
29
|
+
NOTE:
|
30
|
+
この観点に従えば`Object.keys`, `Object.entries`, `Object.values`の各メソッドが生成する配列の並びにも意味がないため, これらのメソッドは単に「オブジェクトの内容に**順不同の処理を施す**」用途にしか使えません.
|
2
引用を追加
answer
CHANGED
@@ -2,8 +2,12 @@
|
|
2
2
|
|
3
3
|
[https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order](https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order)
|
4
4
|
|
5
|
-
|
5
|
+
> An object is a member of the type Object. It is **an unordered collection of properties** each of which contains a primitive value, object, or function. A function stored in a property of an object is called a method.
|
6
6
|
|
7
|
+
意訳:オブジェクトは**順序付けされていないプロパティの集まり**です.
|
8
|
+
|
9
|
+
つまり, **オブジェクトのキーの順番に意味がない**ため, 順序を意識したコードはそれ自体正しく動作する保証がありません. もし、順序が重要なのであれば, オブジェクトではなく配列を使って下さい.
|
10
|
+
|
7
11
|
```JavaScript
|
8
12
|
let arr = [
|
9
13
|
{b: "B"},
|
1
コードを追加
answer
CHANGED
@@ -1,3 +1,22 @@
|
|
1
1
|
不可能です. `Object`のキーの並びは**固定ではありません**.
|
2
2
|
|
3
|
-
[https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order](https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order)
|
3
|
+
[https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order](https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order)
|
4
|
+
|
5
|
+
もし、順序が重要なのであれば, オブジェクトではなく配列を使って下さい.
|
6
|
+
|
7
|
+
```JavaScript
|
8
|
+
let arr = [
|
9
|
+
{b: "B"},
|
10
|
+
{c: "C"},
|
11
|
+
{a: "A"}
|
12
|
+
];
|
13
|
+
```
|
14
|
+
とか
|
15
|
+
```JavaScript
|
16
|
+
let arr = [
|
17
|
+
["b", "B"],
|
18
|
+
["c", "C"],
|
19
|
+
["a", "A"]
|
20
|
+
];
|
21
|
+
```
|
22
|
+
であれば, 「2番めの値」に意味が出てきます.
|