質問編集履歴
1
説明が解りづらかったため修正。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
オブジェクトのマージを多次元で対応したいです。
|
2
2
|
|
3
|
+
下記は変数a,bをマージするサンプルです。
|
3
|
-
|
4
|
+
このサンプルの「merge」関数部分をどの様に作成すればよいのか解らない状態です。
|
4
5
|
|
5
6
|
```js
|
6
7
|
|
@@ -8,10 +9,17 @@
|
|
8
9
|
|
9
10
|
var b = {"H1":{"H3":{"h5":"VALUE5"}}};
|
10
11
|
|
12
|
+
//Object.assignだとH1キーで上書きされてしまいます。
|
13
|
+
Object.assign(a,b); // {"H1":{"H3":{"h5":"VALUE5"}}};
|
14
|
+
|
15
|
+
//始めのキーで上書きされるのではなく1つ以上の配列を再帰的にマージしたいです。
|
16
|
+
//phpの関数で言うとarray_merge_recursive
|
17
|
+
//https://www.php.net/manual/ja/function.array-merge-recursive.php
|
18
|
+
//になります。
|
11
|
-
|
19
|
+
merge(a, b); //{"H1":{"H2":10, "H3":{"H4":"VALUE4","h5":"VALUE5"}}};
|
12
20
|
|
13
|
-
console.log(res);//{"H1":{"H2":10, "H3":{"H4":"VALUE4","h5":"VALUE5"}}};
|
14
21
|
|
22
|
+
|
15
23
|
```
|
16
24
|
|
17
25
|
宜しくおねがいします。
|