回答編集履歴
4
改訂
test
CHANGED
@@ -12,9 +12,9 @@
|
|
12
12
|
|
13
13
|
$('input').each(function(i,e){
|
14
14
|
|
15
|
-
const fruits_name = $(e).at
|
15
|
+
const fruits_name = $(e).data('fruits_name'); // jQueryの dataAPI で参照可
|
16
16
|
|
17
|
-
const frits_taste = $(e).at
|
17
|
+
const frits_taste = $(e).data('frits_taste');
|
18
18
|
|
19
19
|
const obj = { [frits_taste] : $(e).prop('checked') };
|
20
20
|
|
@@ -36,11 +36,15 @@
|
|
36
36
|
|
37
37
|
if( !relt.hasOwnProperty(fruits_name) ) {
|
38
38
|
|
39
|
+
// プロパティが無いときは新規に付与
|
40
|
+
|
39
41
|
rslt[fruits_name] = obj;
|
40
42
|
|
41
43
|
}
|
42
44
|
|
43
45
|
else {
|
46
|
+
|
47
|
+
// プロパティが有るときは、値のオブジェクトを合成
|
44
48
|
|
45
49
|
Object.assign( rslt[fruits_name], obj)
|
46
50
|
|
@@ -52,23 +56,25 @@
|
|
52
56
|
|
53
57
|
}
|
54
58
|
|
59
|
+
let oj = hoge()
|
60
|
+
|
55
|
-
console.log(
|
61
|
+
console.log( oj );
|
56
62
|
|
57
63
|
// => 求めるオブジェクト
|
58
64
|
|
59
65
|
|
60
66
|
|
61
|
-
console.log( JSON.stringify(
|
67
|
+
console.log( JSON.stringify(oj) );
|
62
68
|
|
63
|
-
// => JSON で 送受信
|
69
|
+
// => JSON で 送受信できる文字列に
|
64
70
|
|
65
71
|
```
|
66
72
|
|
73
|
+
* Google検索 [jquery data api](https://www.google.co.jp/search?q=jquery+data+api)
|
67
74
|
|
75
|
+
* MDN [Object#hasOwnProperty()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
|
68
76
|
|
69
|
-
* [hasOwnProperty()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
|
70
|
-
|
71
|
-
* [Object.assign()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
|
77
|
+
* MDN [Object.assign()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
|
72
78
|
|
73
79
|
|
74
80
|
|
3
訂正
test
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
|
78
78
|
|
79
|
-
1. 回答のコードにも残していますが、
|
79
|
+
1. 回答のコードにも残していますが、[console.log()](https://developer.mozilla.org/ja/docs/Web/API/Console/log) を用いて値をしっかり把握すること
|
80
80
|
|
81
81
|
(確認数が多い場合、``log=[]``のような配列に入れて [console.table()](https://developer.mozilla.org/ja/docs/Web/API/console/table) も活用します)。
|
82
82
|
|
2
訂正
test
CHANGED
File without changes
|
1
追記
test
CHANGED
@@ -69,3 +69,17 @@
|
|
69
69
|
* [hasOwnProperty()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
|
70
70
|
|
71
71
|
* [Object.assign()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
> こういったときにはどうすべきでしょうか?
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
1. 回答のコードにも残していますが、``console.log()`` を用いて値をしっかり把握すること
|
80
|
+
|
81
|
+
(確認数が多い場合、``log=[]``のような配列に入れて [console.table()](https://developer.mozilla.org/ja/docs/Web/API/console/table) も活用します)。
|
82
|
+
|
83
|
+
2. 反復処理で操作したい対象は、配列なのか、オブジェクトなのかを失念しないこと
|
84
|
+
|
85
|
+
(``rslt = {}`` と初期化しているので、オブジェクトの操作です)。
|