回答編集履歴

4

改訂

2020/10/01 14:42

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

test CHANGED
@@ -12,9 +12,9 @@
12
12
 
13
13
  $('input').each(function(i,e){
14
14
 
15
- const fruits_name = $(e).attr('data-fruits_name');
15
+ const fruits_name = $(e).data('fruits_name'); // jQueryの dataAPI で参照可
16
16
 
17
- const frits_taste = $(e).attr('data-frits_taste');
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( hoge() );
61
+ console.log( oj );
56
62
 
57
63
  // => 求めるオブジェクト
58
64
 
59
65
 
60
66
 
61
- console.log( JSON.stringify(hoge()) );
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

訂正

2020/10/01 14:42

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
 
78
78
 
79
- 1. 回答のコードにも残していますが、``console.log()`` を用いて値をしっかり把握すること
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

訂正

2020/10/01 14:30

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

test CHANGED
File without changes

1

追記

2020/10/01 14:30

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

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 = {}`` と初期化しているので、オブジェクトの操作です)。