質問編集履歴
6
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,7 +37,7 @@
|
|
37
37
|
obj['test5']['test5_2'] = 'テスト5_2';
|
38
38
|
```
|
39
39
|
|
40
|
-
###しかし、本来やりたかったのは下記のような処理です。
|
40
|
+
###しかし、本来やりたかったのは下記のような処理なのです。
|
41
41
|
```Javascript
|
42
42
|
obj['test5'] = 'テスト5'
|
43
43
|
obj['test5']['test5_1'] = 'テスト5_1'
|
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,11 +26,11 @@
|
|
26
26
|
オブジェクトのキーにさらにキーを設定し階層的に値を持たせたいです。
|
27
27
|
`test4`のような形にしたいのですが、すでに`test5`の値が存在するときにどのように対処すればよいのかわかりませんでした。
|
28
28
|
|
29
|
-
|
29
|
+
> また`obj['test5']['test5_1'] = 'テスト5'`
|
30
30
|
上記だと`test5_1`が定義されていないプロパティ?でエラーになることを確認しました。
|
31
31
|
これは`test5`の値がすでに代入されているためかと考えましたが、新しいプロパティ`obj['test6']['test6_1'] = 'テスト6'`としても同様にエラーとなります。
|
32
32
|
|
33
|
-
|
33
|
+
そこで下記のように一度`test5`でオブジェクト初期化をすることで一応エラー回避することが出来ました。
|
34
34
|
```Javascript
|
35
35
|
obj['test5'] = new Object();
|
36
36
|
obj['test5']['test5_1'] = 'テスト5_1';
|
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,22 +26,24 @@
|
|
26
26
|
オブジェクトのキーにさらにキーを設定し階層的に値を持たせたいです。
|
27
27
|
`test4`のような形にしたいのですが、すでに`test5`の値が存在するときにどのように対処すればよいのかわかりませんでした。
|
28
28
|
|
29
|
-
また`obj['test5']['test5_1'] = 'テスト5'`
|
29
|
+
###また`obj['test5']['test5_1'] = 'テスト5'`
|
30
30
|
上記だと`test5_1`が定義されていないプロパティ?でエラーになることを確認しました。
|
31
31
|
これは`test5`の値がすでに代入されているためかと考えましたが、新しいプロパティ`obj['test6']['test6_1'] = 'テスト6'`としても同様にエラーとなります。
|
32
32
|
|
33
|
-
そこで下記のように一度`test5`でオブジェクト初期化をすることで一応エラー回避することが出来ました。
|
33
|
+
###そこで下記のように一度`test5`でオブジェクト初期化をすることで一応エラー回避することが出来ました。
|
34
34
|
```Javascript
|
35
35
|
obj['test5'] = new Object();
|
36
36
|
obj['test5']['test5_1'] = 'テスト5_1';
|
37
37
|
obj['test5']['test5_2'] = 'テスト5_2';
|
38
38
|
```
|
39
39
|
|
40
|
-
しかし、本来やりたかったのは下記のような処理です。
|
40
|
+
###しかし、本来やりたかったのは下記のような処理です。
|
41
41
|
```Javascript
|
42
42
|
obj['test5'] = 'テスト5'
|
43
43
|
obj['test5']['test5_1'] = 'テスト5_1'
|
44
44
|
obj['test5']['test5_2'] = 'テスト5_2'
|
45
45
|
console.log(obj.test5)
|
46
46
|
//test5=テスト5{test5_1=テスト5_1,test5_2=テスト5_2}
|
47
|
-
```
|
47
|
+
```
|
48
|
+
|
49
|
+
`テスト5`の値をもたせつつ`テスト5`のプロパティに値を追加するのは難しいのでしょうか?
|
3
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,16 +24,24 @@
|
|
24
24
|
|
25
25
|
失礼しました。
|
26
26
|
オブジェクトのキーにさらにキーを設定し階層的に値を持たせたいです。
|
27
|
+
`test4`のような形にしたいのですが、すでに`test5`の値が存在するときにどのように対処すればよいのかわかりませんでした。
|
27
28
|
|
28
|
-
`obj['test5']['test5_1'] = 'テスト5'`
|
29
|
+
また`obj['test5']['test5_1'] = 'テスト5'`
|
29
30
|
上記だと`test5_1`が定義されていないプロパティ?でエラーになることを確認しました。
|
30
31
|
これは`test5`の値がすでに代入されているためかと考えましたが、新しいプロパティ`obj['test6']['test6_1'] = 'テスト6'`としても同様にエラーとなります。
|
31
32
|
|
32
|
-
そこで
|
33
|
+
そこで下記のように一度`test5`でオブジェクト初期化をすることで一応エラー回避することが出来ました。
|
33
34
|
```Javascript
|
34
35
|
obj['test5'] = new Object();
|
35
36
|
obj['test5']['test5_1'] = 'テスト5_1';
|
36
37
|
obj['test5']['test5_2'] = 'テスト5_2';
|
37
38
|
```
|
38
39
|
|
39
|
-
しかし、
|
40
|
+
しかし、本来やりたかったのは下記のような処理です。
|
41
|
+
```Javascript
|
42
|
+
obj['test5'] = 'テスト5'
|
43
|
+
obj['test5']['test5_1'] = 'テスト5_1'
|
44
|
+
obj['test5']['test5_2'] = 'テスト5_2'
|
45
|
+
console.log(obj.test5)
|
46
|
+
//test5=テスト5{test5_1=テスト5_1,test5_2=テスト5_2}
|
47
|
+
```
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,6 +16,24 @@
|
|
16
16
|
```
|
17
17
|
|
18
18
|
|
19
|
-
このとき`テスト5_1`のプロパティがundefinedになる理由はな
|
19
|
+
このとき`テスト5_1`のプロパティがundefinedになる理由はなぜでしょうか?
|
20
20
|
すでに`test5`の値が存在するからかと思いましたが、プロパティを`test6`にしても同様にundefinedでした。
|
21
|
-
ご教示のほど、よろしくお願いいたします。
|
21
|
+
ご教示のほど、よろしくお願いいたします。
|
22
|
+
|
23
|
+
追記
|
24
|
+
|
25
|
+
失礼しました。
|
26
|
+
オブジェクトのキーにさらにキーを設定し階層的に値を持たせたいです。
|
27
|
+
|
28
|
+
`obj['test5']['test5_1'] = 'テスト5'`
|
29
|
+
上記だと`test5_1`が定義されていないプロパティ?でエラーになることを確認しました。
|
30
|
+
これは`test5`の値がすでに代入されているためかと考えましたが、新しいプロパティ`obj['test6']['test6_1'] = 'テスト6'`としても同様にエラーとなります。
|
31
|
+
|
32
|
+
そこで以下のように一度`test5`でオブジェクト初期化をすることでエラー回避することが出来ました。
|
33
|
+
```Javascript
|
34
|
+
obj['test5'] = new Object();
|
35
|
+
obj['test5']['test5_1'] = 'テスト5_1';
|
36
|
+
obj['test5']['test5_2'] = 'テスト5_2';
|
37
|
+
```
|
38
|
+
|
39
|
+
しかし、なぜ一旦定義し直さないといけないのでしょうか??
|