回答編集履歴

3

追記

2022/08/13 06:23

投稿

退会済みユーザー
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

 

2022/08/13 06:14

投稿

退会済みユーザー
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

修正

2022/08/13 06:12

投稿

退会済みユーザー
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
  }