回答編集履歴

3

誤字訂正

2021/08/21 02:49

投稿

hoshi-takanori
hoshi-takanori

スコア7899

test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  - d は次のうちどれでしょうか?
82
82
 
83
- 1) 追加 (name は d など適当な値?)
83
+ 1) 追加 (name は d または適当な値?)
84
84
 
85
85
  2) エラー (または無視)
86
86
 

2

mergeObj の例を追加

2021/08/21 02:49

投稿

hoshi-takanori
hoshi-takanori

スコア7899

test CHANGED
@@ -44,9 +44,45 @@
44
44
 
45
45
 
46
46
 
47
- 上書きと追加は name がるかどうかで区別するのでしょうか?
47
+ 上書きと追加は mergeObj のキー (a, b) originalObj に存在するかどうかで区別するのでしょうか? それとも、name があるかどうかでしょうか? 具体的には、次の例で
48
48
 
49
+
50
+
51
+ ```js
52
+
53
+ let mergeObj = {
54
+
55
+ a: { hoge: 'hogehoge-1' }, // 上書き
56
+
49
- また、上書きも追加も mergeObj のキー (a, b) を基準に行うと思われますが、上書きの際にそのキーの値がなかったり、追加の際ににそキーに値がある場合はどうなりますか?
57
+ b: { name: 'b', hoge: 'hogehoge-2' }, // 上書き? ( name と同じ場合)
58
+
59
+ c: { name: 'y', hoge: 'hogehoge-3' }, // 上書き? (既存の name と異なる場合)
60
+
61
+ d: { hoge: 'hogehoge-4' }, // 追加? (name がないのでエラー?)
62
+
63
+ e: { name: 'z', hoge: 'hogehoge-5' }, // 追加
64
+
65
+ };
66
+
67
+ ```
68
+
69
+
70
+
71
+ - a, e はそれぞれ上書きと追加で問題ないと思います。
72
+
73
+ - b, c は次のうちどれでしょうか?
74
+
75
+ 1) 上書き (name が異なる場合は name も上書き?)
76
+
77
+ 2) 追加 (既存の fuga, piyo は無視して新しい値を設定する)
78
+
79
+ 3) エラー (または無視)
80
+
81
+ - d は次のうちどれでしょうか?
82
+
83
+ 1) 追加 (name は d など適当な値?)
84
+
85
+ 2) エラー (または無視)
50
86
 
51
87
 
52
88
 

1

誤字訂正

2021/08/21 02:48

投稿

hoshi-takanori
hoshi-takanori

スコア7899

test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
 
56
56
 
57
- これを main という関数名にするのは抵抗があります。関数名は例えば merge として、引数は originalObjs, mergeObjs ()、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
57
+ これを main という関数名にするのは抵抗があります。関数名は例えば merge として、originalObj, mergeObj を引数に取り、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
58
58
 
59
59
 
60
60