回答編集履歴
3
追記
test
CHANGED
@@ -47,5 +47,10 @@
|
|
47
47
|
console.log(JSON.stringify(obj));
|
48
48
|
}
|
49
49
|
```
|
50
|
+
---
|
50
51
|
|
52
|
+
エラー処理を無視するなら、con関数は下記のようにもできます
|
53
|
+
```js
|
54
|
+
const con = ary => ({ [ary[0]]: ary.length === 2 ? ary[1] : con(ary.slice(1)) });
|
55
|
+
```
|
51
56
|
|
2
test
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
let obj = {};
|
37
37
|
const data = new Map([
|
38
38
|
['event.AAA.B', 'テスト1'],
|
39
|
-
// ['event','テスト2'], //
|
39
|
+
// ['event','テスト2'], // キー('event')が1つ前と重複しているためコメントアウト
|
40
40
|
['id', 'テスト3'],
|
41
41
|
['data.3.B.a', 'テスト4']
|
42
42
|
]);
|
1
修正
test
CHANGED
@@ -25,9 +25,9 @@
|
|
25
25
|
if (Object.prototype.toString.call(ary) !== '[object Array]')
|
26
26
|
throw TypeError('引数は配列でなければなりません');
|
27
27
|
if (ary.length < 2)
|
28
|
-
throw TypeError('長さが2未満の配列は指定できません')
|
28
|
+
throw TypeError('長さが2未満の配列は指定できません');
|
29
29
|
if (ary.length === 2) {
|
30
|
-
return Object.fromEntries([[ary[0], ary[1]]])
|
30
|
+
return Object.fromEntries([[ary[0], ary[1]]]);
|
31
31
|
}
|
32
32
|
return { [ary[0]]: con(ary.slice(1)) }
|
33
33
|
}
|