回答編集履歴
5
補足
answer
CHANGED
@@ -30,9 +30,9 @@
|
|
30
30
|
const data = sheet.getDataRange().getValues();
|
31
31
|
|
32
32
|
// 連泊情報を整理
|
33
|
-
const info = data.map(function(row
|
33
|
+
const info = data.map(function(row) {
|
34
34
|
// D列の値を取得してオブジェクト化
|
35
|
-
const obj = {}
|
35
|
+
const obj = {};
|
36
36
|
row[3].replace(/] [\/g, KvSeparater)
|
37
37
|
.replace(/] [/g, DataSeparater)
|
38
38
|
.replace(/[/g,'')
|
@@ -58,4 +58,26 @@
|
|
58
58
|
|
59
59
|
sheet.getRange(2, 5, dataSet.length, dataSet[0].length).setValues(dataSet);
|
60
60
|
}
|
61
|
+
```
|
62
|
+
|
63
|
+
#コメントに対する追記
|
64
|
+
> どうして'|'や':'でreplaceしているのか
|
65
|
+
|
66
|
+
確かに無駄にわかりにくくしてるかも。
|
67
|
+
下記のほうがシンプルですね。
|
68
|
+
```
|
69
|
+
const info = data.map(function(row) {
|
70
|
+
// D列の値を取得してオブジェクト化
|
71
|
+
const obj = {};
|
72
|
+
const pairs = row[3].replace(/^[/,'')
|
73
|
+
.replace(/]$/,'')
|
74
|
+
.replace(/\/g,'')
|
75
|
+
.split('] [');
|
76
|
+
|
77
|
+
for(var i = 0; i < pairs.length; i++) {
|
78
|
+
obj[pairs[i++]] = pairs[i];
|
79
|
+
}
|
80
|
+
|
81
|
+
return obj;
|
82
|
+
});
|
61
83
|
```
|
4
見やすく
answer
CHANGED
@@ -2,19 +2,19 @@
|
|
2
2
|
> 第二行に[]で囲まれた日付
|
3
3
|
|
4
4
|
これはない想定(2行目からデータ群)でくんでます。
|
5
|
-
|D|E|F|G|H|I|J|
|
5
|
+
|行数|D|E|F|G|H|I|J|
|
6
|
-
|:--|:--|:--|:--|:--|:--|:--|
|
6
|
+
|--:|:--|:--|:--|:--|:--|:--|:--|
|
7
|
-
|連泊情報|2019-06-11|2019-06-12|2019-06-13|2019-06-14|2019-06-15|2019-06-16|
|
7
|
+
|1|連泊情報|2019-06-11|2019-06-12|2019-06-13|2019-06-14|2019-06-15|2019-06-16|
|
8
|
-
|[2019-06-06] [\1,000]|||||||
|
8
|
+
|2|[2019-06-06] [\1,000]|||||||
|
9
|
-
|[2019-06-05] [\2,000] [2019-06-06] [\2,100] [2019-06-07] [\2,200]|||||||
|
9
|
+
|3|[2019-06-05] [\2,000] [2019-06-06] [\2,100] [2019-06-07] [\2,200]|||||||
|
10
|
-
|[2019-06-09] [\3,000] [2019-06-10] [\3,100] [2019-06-11] [\3,200]|||||||
|
10
|
+
|4|[2019-06-09] [\3,000] [2019-06-10] [\3,100] [2019-06-11] [\3,200]|||||||
|
11
|
-
|[2019-06-10] [\4,000] [2019-06-11] [\4,100] [2019-06-12] [\4,200]|||||||
|
11
|
+
|5|[2019-06-10] [\4,000] [2019-06-11] [\4,100] [2019-06-12] [\4,200]|||||||
|
12
|
-
|[2019-06-12] [\5,000]|||||||
|
12
|
+
|6|[2019-06-12] [\5,000]|||||||
|
13
|
-
|[2019-06-12] [\6,000] [2019-06-13] [\6,100] [2019-06-14] [\6,200]|||||||
|
13
|
+
|7|[2019-06-12] [\6,000] [2019-06-13] [\6,100] [2019-06-14] [\6,200]|||||||
|
14
|
-
|[2019-06-15] [\7,000] [2019-06-16] [\7,100] [2019-06-17] [\7,200]|||||||
|
14
|
+
|8|[2019-06-15] [\7,000] [2019-06-16] [\7,100] [2019-06-17] [\7,200]|||||||
|
15
|
-
|[2019-06-16] [\8,000] [2019-06-17] [\8,100] [2019-06-18] [\8,200]|||||||
|
15
|
+
|9|[2019-06-16] [\8,000] [2019-06-17] [\8,100] [2019-06-18] [\8,200]|||||||
|
16
|
-
|[2019-06-17] [\9,000] [2019-06-18] [\9,100] [2019-06-19] [\9,200]|||||||
|
16
|
+
|10|[2019-06-17] [\9,000] [2019-06-18] [\9,100] [2019-06-19] [\9,200]|||||||
|
17
|
-
|[2019-06-17] [\10,000]|||||||
|
17
|
+
|11|[2019-06-17] [\10,000]|||||||
|
18
18
|
|
19
19
|
途中日付計算が面倒でMomentを使いました。
|
20
20
|
このらへんを参考にどうぞ。
|
3
表を提示
answer
CHANGED
@@ -2,6 +2,19 @@
|
|
2
2
|
> 第二行に[]で囲まれた日付
|
3
3
|
|
4
4
|
これはない想定(2行目からデータ群)でくんでます。
|
5
|
+
|D|E|F|G|H|I|J|
|
6
|
+
|:--|:--|:--|:--|:--|:--|:--|
|
7
|
+
|連泊情報|2019-06-11|2019-06-12|2019-06-13|2019-06-14|2019-06-15|2019-06-16|
|
8
|
+
|[2019-06-06] [\1,000]|||||||
|
9
|
+
|[2019-06-05] [\2,000] [2019-06-06] [\2,100] [2019-06-07] [\2,200]|||||||
|
10
|
+
|[2019-06-09] [\3,000] [2019-06-10] [\3,100] [2019-06-11] [\3,200]|||||||
|
11
|
+
|[2019-06-10] [\4,000] [2019-06-11] [\4,100] [2019-06-12] [\4,200]|||||||
|
12
|
+
|[2019-06-12] [\5,000]|||||||
|
13
|
+
|[2019-06-12] [\6,000] [2019-06-13] [\6,100] [2019-06-14] [\6,200]|||||||
|
14
|
+
|[2019-06-15] [\7,000] [2019-06-16] [\7,100] [2019-06-17] [\7,200]|||||||
|
15
|
+
|[2019-06-16] [\8,000] [2019-06-17] [\8,100] [2019-06-18] [\8,200]|||||||
|
16
|
+
|[2019-06-17] [\9,000] [2019-06-18] [\9,100] [2019-06-19] [\9,200]|||||||
|
17
|
+
|[2019-06-17] [\10,000]|||||||
|
5
18
|
|
6
19
|
途中日付計算が面倒でMomentを使いました。
|
7
20
|
このらへんを参考にどうぞ。
|
2
半角スペースを考慮
answer
CHANGED
@@ -17,11 +17,11 @@
|
|
17
17
|
const data = sheet.getDataRange().getValues();
|
18
18
|
|
19
19
|
// 連泊情報を整理
|
20
|
-
const info = data.map(function(row) {
|
20
|
+
const info = data.map(function(row, idx) {
|
21
21
|
// D列の値を取得してオブジェクト化
|
22
22
|
const obj = {}
|
23
|
-
row[3].replace(/][\/g, KvSeparater)
|
23
|
+
row[3].replace(/] [\/g, KvSeparater)
|
24
|
-
.replace(/][/g, DataSeparater)
|
24
|
+
.replace(/] [/g, DataSeparater)
|
25
25
|
.replace(/[/g,'')
|
26
26
|
.replace(/]/g,'')
|
27
27
|
.split(DataSeparater)
|
1
いらない引数ががが
answer
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
const data = sheet.getDataRange().getValues();
|
18
18
|
|
19
19
|
// 連泊情報を整理
|
20
|
-
const info = data.map(function(row
|
20
|
+
const info = data.map(function(row) {
|
21
21
|
// D列の値を取得してオブジェクト化
|
22
22
|
const obj = {}
|
23
23
|
row[3].replace(/][\/g, KvSeparater)
|