回答編集履歴
3
誤字訂正
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 の例を追加
test
CHANGED
@@ -44,9 +44,45 @@
|
|
44
44
|
|
45
45
|
|
46
46
|
|
47
|
-
上書きと追加は
|
47
|
+
上書きと追加は mergeObj のキー (a, b) が originalObj に存在するかどうかで区別するのでしょうか? それとも、name があるかどうかでしょうか? 具体的には、次の例で
|
48
48
|
|
49
|
+
|
50
|
+
|
51
|
+
```js
|
52
|
+
|
53
|
+
let mergeObj = {
|
54
|
+
|
55
|
+
a: { hoge: 'hogehoge-1' }, // 上書き
|
56
|
+
|
49
|
-
|
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
誤字訂正
test
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
|
55
55
|
|
56
56
|
|
57
|
-
これを main という関数名にするのは抵抗があります。関数名は例えば merge として、
|
57
|
+
これを main という関数名にするのは抵抗があります。関数名は例えば merge として、originalObj, mergeObj を引数に取り、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
|
58
58
|
|
59
59
|
|
60
60
|
|