回答編集履歴

2

code mistake

2022/10/02 04:05

投稿

Cocode
Cocode

スコア2314

test CHANGED
@@ -8,13 +8,13 @@
8
8
  const input = {"100":1,"200":2,"010":3};
9
9
 
10
10
  function convertObjToSortedArr(obj) {
11
- let arr = Object.entries(obj).map(([key,val]) => ({[key]: [val]}));
11
+ let arr = Object.entries(obj).map(([key,val]) => ({[key]: val}));
12
12
  let sortedArr = arr.sort((a,b) => parseInt(Object.keys(a)[0]) - parseInt(Object.keys(b)[0]));
13
13
 
14
14
  return sortedArr
15
15
  }
16
16
  console.log(convertObjToSortedArr(input));
17
- // [{010: [3]}, {100: [1]}, {200: [2]}]
17
+ // [{010: 3}, {100: 1}, {200: 2}]
18
18
  ```
19
19
 
20
20
  ### .sort()について
@@ -32,6 +32,6 @@
32
32
  (すっごい長くてみにくいですけど)
33
33
  ```javascript
34
34
  const convertObjToSortedArr = obj => Object.entries(obj)
35
- .map(([key,val]) => ({[key]: [val]}))
35
+ .map(([key,val]) => ({[key]: val}))
36
36
  .sort((a,b) => parseInt(Object.keys(a)[0]) - parseInt(Object.keys(b)[0]));
37
37
  ```

1

omake

2022/10/02 03:59

投稿

Cocode
Cocode

スコア2314

test CHANGED
@@ -26,3 +26,12 @@
26
26
  // 降順 3->2->1
27
27
  array.sort((a, b) => b - a)
28
28
  ```
29
+
30
+ ### おまけ
31
+ この処理は、アロー関数を使えばシングルラインで表現することもできます。
32
+ (すっごい長くてみにくいですけど)
33
+ ```javascript
34
+ const convertObjToSortedArr = obj => Object.entries(obj)
35
+ .map(([key,val]) => ({[key]: [val]}))
36
+ .sort((a,b) => parseInt(Object.keys(a)[0]) - parseInt(Object.keys(b)[0]));
37
+ ```