回答編集履歴
3
テキスト修正
test
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
```typescript
|
82
82
|
|
83
|
-
const [productNames, SKUs] = _.unzip(data.map((e: Item) => [
|
83
|
+
const [productNames, SKUs] = _.unzip(data.map(({name, sku}: Item) => [name, sku]))
|
84
84
|
|
85
85
|
```
|
86
86
|
|
2
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
### 追記
|
37
|
+
### 追記1
|
38
38
|
|
39
39
|
|
40
40
|
|
@@ -70,6 +70,22 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
+
### 追記2
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
reduceを使うというご質問の本題からは外れますが、lodashの[unzip](https://lodash.com/docs/#unzip)を使うと、以下のように手短かに書けます。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
```typescript
|
82
|
+
|
83
|
+
const [productNames, SKUs] = _.unzip(data.map((e: Item) => [e.name, e.sku]))
|
84
|
+
|
85
|
+
```
|
86
|
+
|
87
|
+
- **動作確認用Codepen:** [/jun68ykt/pen/NWNZVeQ](https://codepen.io/jun68ykt/pen/NWNZVeQ?editors=0012)
|
88
|
+
|
73
89
|
|
74
90
|
|
75
91
|
参考になれば幸いです。
|
1
テキスト修正
test
CHANGED
@@ -34,4 +34,42 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
+
### 追記
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
`reduce`の第二引数に渡す初期値に`SKUs`のための空配列を追加し、分割代入とスプレッド構文を使うと、以下のようにも書けます。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
```typescript
|
46
|
+
|
47
|
+
type Item = {
|
48
|
+
|
49
|
+
name: string
|
50
|
+
|
51
|
+
sku: string
|
52
|
+
|
53
|
+
}
|
54
|
+
|
55
|
+
```
|
56
|
+
|
57
|
+
```typescript
|
58
|
+
|
59
|
+
const [productNames, SKUs] = data.reduce(
|
60
|
+
|
61
|
+
([names, skus]: string[][], {name, sku}: Item) =>
|
62
|
+
|
63
|
+
[[...names, name], [...skus, sku]]
|
64
|
+
|
65
|
+
, [[], []])
|
66
|
+
|
67
|
+
```
|
68
|
+
|
69
|
+
- **動作確認用Codepen:** [/jun68ykt/pen/WNwqBOm](https://codepen.io/jun68ykt/pen/WNwqBOm?editors=0012)
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
37
75
|
参考になれば幸いです。
|