回答編集履歴
3
誤字訂正
answer
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
2) 追加 (既存の fuga, piyo は無視して新しい値を設定する)
|
40
40
|
3) エラー (または無視)
|
41
41
|
- d は次のうちどれでしょうか?
|
42
|
-
1) 追加 (name は d
|
42
|
+
1) 追加 (name は d または適当な値?)
|
43
43
|
2) エラー (または無視)
|
44
44
|
|
45
45
|
> async main = () => {
|
2
mergeObj の例を追加
answer
CHANGED
@@ -21,9 +21,27 @@
|
|
21
21
|
|
22
22
|
> let mergeObj = {a: {hoge: 'hogehoge'}, b: {name: 'b', hoge: 'hogehoge'}}
|
23
23
|
|
24
|
-
上書きと追加は name があるかどうかで区別するのでしょうか?
|
25
|
-
|
24
|
+
上書きと追加は mergeObj のキー (a, b) が originalObj に存在するかどうかで区別するのでしょうか? それとも、name があるかどうかでしょうか? 具体的には、次の例で
|
26
25
|
|
26
|
+
```js
|
27
|
+
let mergeObj = {
|
28
|
+
a: { hoge: 'hogehoge-1' }, // 上書き
|
29
|
+
b: { name: 'b', hoge: 'hogehoge-2' }, // 上書き? (既存の name と同じ場合)
|
30
|
+
c: { name: 'y', hoge: 'hogehoge-3' }, // 上書き? (既存の name と異なる場合)
|
31
|
+
d: { hoge: 'hogehoge-4' }, // 追加? (name がないのでエラー?)
|
32
|
+
e: { name: 'z', hoge: 'hogehoge-5' }, // 追加
|
33
|
+
};
|
34
|
+
```
|
35
|
+
|
36
|
+
- a, e はそれぞれ上書きと追加で問題ないと思います。
|
37
|
+
- b, c は次のうちどれでしょうか?
|
38
|
+
1) 上書き (name が異なる場合は name も上書き?)
|
39
|
+
2) 追加 (既存の fuga, piyo は無視して新しい値を設定する)
|
40
|
+
3) エラー (または無視)
|
41
|
+
- d は次のうちどれでしょうか?
|
42
|
+
1) 追加 (name は d など適当な値?)
|
43
|
+
2) エラー (または無視)
|
44
|
+
|
27
45
|
> async main = () => {
|
28
46
|
|
29
47
|
これを main という関数名にするのは抵抗があります。関数名は例えば merge として、originalObj, mergeObj を引数に取り、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
|
1
誤字訂正
answer
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
> async main = () => {
|
28
28
|
|
29
|
-
これを main という関数名にするのは抵抗があります。関数名は例えば merge として、
|
29
|
+
これを main という関数名にするのは抵抗があります。関数名は例えば merge として、originalObj, mergeObj を引数に取り、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
|
30
30
|
|
31
31
|
```
|
32
32
|
const merge = async (originalObj, mergeObj) => { ... }
|