teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

2019/08/26 11:22

投稿

fiile
fiile

スコア16

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

2019/08/26 11:22

投稿

fiile
fiile

スコア16

title CHANGED
File without changes
body CHANGED
@@ -26,11 +26,11 @@
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';

4

2019/08/26 10:47

投稿

fiile
fiile

スコア16

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

2019/08/26 10:47

投稿

fiile
fiile

スコア16

title CHANGED
File without changes
body CHANGED
File without changes

2

2019/08/26 10:28

投稿

fiile
fiile

スコア16

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
- そこで下のように一度`test5`でオブジェクト初期化をすることでエラー回避することが出来ました。
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

2019/08/26 10:28

投稿

fiile
fiile

スコア16

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
+ しかし、なぜ一旦定義し直さないといけないのでしょうか??