回答編集履歴
4
追加修正
answer
CHANGED
@@ -14,6 +14,8 @@
|
|
14
14
|
|
15
15
|
追記
|
16
16
|
質問者様がしたい事(ほしい結果)はこれで合っていますか?
|
17
|
+
(複数回実行想定の処理が無かったので一応追加)
|
18
|
+
|
17
19
|
```javascript
|
18
20
|
console.log( hoge() );
|
19
21
|
function hoge(){
|
@@ -22,13 +24,17 @@
|
|
22
24
|
const fruits_name = $(e).attr('data-fruits_name');
|
23
25
|
const frits_taste = $(e).attr('data-frits_taste');
|
24
26
|
// const obj = { [frits_taste] : $(e).prop('checked') };
|
25
|
-
let obj = {}; // 子要素の設定
|
26
|
-
obj[frits_taste] = $(e).prop('checked'); // 子要素に値を設定
|
27
|
-
if (!(fruits_name in resuts)) {
|
27
|
+
if (!(fruits_name in resuts)) { // 親要素の存在チェック
|
28
|
-
resuts[fruits_name] = [];
|
28
|
+
resuts[fruits_name] = []; // 親要素の初期化
|
29
29
|
}
|
30
|
+
if (!(frits_taste in resuts[fruits_name])) { // 子要素の存在チェック
|
31
|
+
let obj = {}; // 子要素の設定
|
32
|
+
obj[frits_taste] = $(e).prop('checked'); // 子要素に値を設定
|
30
|
-
|
33
|
+
resuts[fruits_name].push(obj); // 親要素に子要素を追加
|
34
|
+
}else{
|
35
|
+
resuts[fruits_name][frits_taste] = $(e).prop('checked') // 子要素に値を追加
|
36
|
+
}
|
31
|
-
console.log(resuts["apple"]["xxx"]);
|
37
|
+
console.log(resuts["apple"]["xxx"]); // 確認用にコンソールに出力
|
32
38
|
});
|
33
39
|
return resuts;
|
34
40
|
}
|
3
修正漏れ
answer
CHANGED
@@ -28,6 +28,7 @@
|
|
28
28
|
resuts[fruits_name] = []; // 親要素の初期化
|
29
29
|
}
|
30
30
|
resuts[fruits_name].push(obj); // 親要素に子要素を設定
|
31
|
+
console.log(resuts["apple"]["xxx"]); // 確認用にコンソールに出力
|
31
32
|
});
|
32
33
|
return resuts;
|
33
34
|
}
|
2
コメント修正
answer
CHANGED
@@ -22,9 +22,12 @@
|
|
22
22
|
const fruits_name = $(e).attr('data-fruits_name');
|
23
23
|
const frits_taste = $(e).attr('data-frits_taste');
|
24
24
|
// const obj = { [frits_taste] : $(e).prop('checked') };
|
25
|
-
let obj = {};
|
25
|
+
let obj = {}; // 子要素の設定
|
26
|
-
obj[frits_taste] = $(e).prop('checked');
|
26
|
+
obj[frits_taste] = $(e).prop('checked'); // 子要素に値を設定
|
27
|
+
if (!(fruits_name in resuts)) { // 親要素の存在チェック
|
28
|
+
resuts[fruits_name] = []; // 親要素の初期化
|
29
|
+
}
|
27
|
-
resuts[fruits_name].push(obj);
|
30
|
+
resuts[fruits_name].push(obj); // 親要素に子要素を設定
|
28
31
|
});
|
29
32
|
return resuts;
|
30
33
|
}
|
1
追記の追記
answer
CHANGED
@@ -10,4 +10,22 @@
|
|
10
10
|
console.log(resuts["apple"]["xxx"]);
|
11
11
|
console.log(resuts["apple"]["yyy"]);
|
12
12
|
console.log(resuts["banana"]["zzz"]);
|
13
|
+
```
|
14
|
+
|
15
|
+
追記
|
16
|
+
質問者様がしたい事(ほしい結果)はこれで合っていますか?
|
17
|
+
```javascript
|
18
|
+
console.log( hoge() );
|
19
|
+
function hoge(){
|
20
|
+
let resuts = {};
|
21
|
+
$('input').each(function(i,e){
|
22
|
+
const fruits_name = $(e).attr('data-fruits_name');
|
23
|
+
const frits_taste = $(e).attr('data-frits_taste');
|
24
|
+
// const obj = { [frits_taste] : $(e).prop('checked') };
|
25
|
+
let obj = {};
|
26
|
+
obj[frits_taste] = $(e).prop('checked');
|
27
|
+
resuts[fruits_name].push(obj);
|
28
|
+
});
|
29
|
+
return resuts;
|
30
|
+
}
|
13
31
|
```
|