teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

誤字訂正

2021/08/21 02:49

投稿

hoshi-takanori
hoshi-takanori

スコア7903

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 の例を追加

2021/08/21 02:49

投稿

hoshi-takanori
hoshi-takanori

スコア7903

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
- また、上書き追加 mergeObj のキー (a, b) を基準と思われまが、上書き際にそのキーの値がなったり、追加の際に既にのキーに値がある場合はどうなりますか?
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

誤字訂正

2021/08/21 02:48

投稿

hoshi-takanori
hoshi-takanori

スコア7903

answer CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  > async main = () => {
28
28
 
29
- これを main という関数名にするのは抵抗があります。関数名は例えば merge として、引数は originalObjs, mergeObjs ()、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
29
+ これを main という関数名にするのは抵抗があります。関数名は例えば merge として、originalObj, mergeObj を引数に取り、マージしたオブジェクトの集合 (originalObj と同じ型) を返すのが良いのでは。
30
30
 
31
31
  ```
32
32
  const merge = async (originalObj, mergeObj) => { ... }