回答編集履歴

4

追加修正

2020/10/01 14:50

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -30,6 +30,10 @@
30
30
 
31
31
  質問者様がしたい事(ほしい結果)はこれで合っていますか?
32
32
 
33
+ (複数回実行想定の処理が無かったので一応追加)
34
+
35
+
36
+
33
37
  ```javascript
34
38
 
35
39
  console.log( hoge() );
@@ -46,19 +50,27 @@
46
50
 
47
51
  // const obj = { [frits_taste] : $(e).prop('checked') };
48
52
 
49
- let obj = {}; // 要素の設定
53
+ if (!(fruits_name in resuts)) { // 要素の存在チェック
50
54
 
51
- obj[frits_taste] = $(e).prop('checked'); // 子要素に値を設定
52
-
53
- if (!(fruits_name in resuts)) { // 親要素の存在チェック
54
-
55
- resuts[fruits_name] = []; // 親要素の初期化
55
+ resuts[fruits_name] = []; // 親要素の初期化
56
56
 
57
57
  }
58
58
 
59
- resuts[fruits_name].push(obj); // 親要素に子要素を設定
59
+ if (!(frits_taste in resuts[fruits_name])) { // 子要素の存在チェック
60
60
 
61
+ let obj = {}; // 子要素の設定
62
+
63
+ obj[frits_taste] = $(e).prop('checked'); // 子要素に値を設定
64
+
65
+ resuts[fruits_name].push(obj); // 親要素に子要素を追加
66
+
67
+ }else{
68
+
69
+ resuts[fruits_name][frits_taste] = $(e).prop('checked') // 子要素に値を追加
70
+
71
+ }
72
+
61
- console.log(resuts["apple"]["xxx"]); // 確認用にコンソールに出力
73
+ console.log(resuts["apple"]["xxx"]); // 確認用にコンソールに出力
62
74
 
63
75
  });
64
76
 

3

修正漏れ

2020/10/01 14:50

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -58,6 +58,8 @@
58
58
 
59
59
  resuts[fruits_name].push(obj); // 親要素に子要素を設定
60
60
 
61
+ console.log(resuts["apple"]["xxx"]); // 確認用にコンソールに出力
62
+
61
63
  });
62
64
 
63
65
  return resuts;

2

コメント修正

2020/10/01 14:35

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -46,11 +46,17 @@
46
46
 
47
47
  // const obj = { [frits_taste] : $(e).prop('checked') };
48
48
 
49
- let obj = {};
49
+ let obj = {}; // 子要素の設定
50
50
 
51
- obj[frits_taste] = $(e).prop('checked');
51
+ obj[frits_taste] = $(e).prop('checked'); // 子要素に値を設定
52
52
 
53
+ if (!(fruits_name in resuts)) { // 親要素の存在チェック
54
+
55
+ resuts[fruits_name] = []; // 親要素の初期化
56
+
57
+ }
58
+
53
- resuts[fruits_name].push(obj);
59
+ resuts[fruits_name].push(obj); // 親要素に子要素を設定
54
60
 
55
61
  });
56
62
 

1

追記の追記

2020/10/01 14:27

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -23,3 +23,39 @@
23
23
  console.log(resuts["banana"]["zzz"]);
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ 追記
30
+
31
+ 質問者様がしたい事(ほしい結果)はこれで合っていますか?
32
+
33
+ ```javascript
34
+
35
+ console.log( hoge() );
36
+
37
+ function hoge(){
38
+
39
+ let resuts = {};
40
+
41
+ $('input').each(function(i,e){
42
+
43
+ const fruits_name = $(e).attr('data-fruits_name');
44
+
45
+ const frits_taste = $(e).attr('data-frits_taste');
46
+
47
+ // const obj = { [frits_taste] : $(e).prop('checked') };
48
+
49
+ let obj = {};
50
+
51
+ obj[frits_taste] = $(e).prop('checked');
52
+
53
+ resuts[fruits_name].push(obj);
54
+
55
+ });
56
+
57
+ return resuts;
58
+
59
+ }
60
+
61
+ ```