質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

1回答

1259閲覧

エラーメッセージが表示されています。0ではダメなのでしょうか?『TypeError: Cannot read property '0' of undefined』

sweets_code

総合スコア4

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

1グッド

2クリップ

投稿2021/11/04 10:59

編集2021/11/10 02:19

以下のコードです。

function Dayoff(nickname, get, rowIndex) { Logger.log(get); var getMin = Number(get[0])*60 + Number(get[1]); const id = '112233445566778899aassddffgghhjjkkllqqwweerrtt'; const sheetName = 'holidays'; const workDays = SSSQL.OPEN(id).GET(sheetName).SELECT('*').WHERE('名前 = ' + nickname + ' AND 種類 = 休日出社 AND 消滅 > 0 AND 差分 <> 00:00').ORDERBY('取得日時’).RESULT(); const msg = new Array(); var i = 0; while(getMin > 0) { try { const value = workDays[i]; const diff = value['差分'].split(':'); const diffMin = Number(diff[0])*60 + Number(diff[1]); if(diffMin < getMin) { getMin -= diffMin; SSSQL.OPEN(id).GET(sheetName).UPDATE({ 消化: value['取得'] }, 'rowIndex = ' + value.rowIndex); } else { const dig = value['消化'] === '' ? [0, 0] : value['消化'].split(':'); const digMin = getMin + Number(dig[0])*60 + Number(dig[1]); SSSQL.OPEN(id).GET(sheetName).UPDATE({ 消化: ('00' + Math.floor(digMin / 60)).slice(-2) + ':' + ('00' + digMin % 60).slice(-2) }, 'rowIndex = ' + value.rowIndex); getMin = 0; } const date = value['取得日時’].split('-'); date.shift() msg.push(date.join('/')); } catch(e) { getMin = 0; msg = '申請した内容にエラーが発生しております’; SSSQL.OPEN(id).GET(sheetName).UPDATE({ 確認: false }, 'rowIndex = ' + rowIndex); GmailApp.sendEmail('kibayashi@foton.jp, nana@foton.jp', '[有休・代休管理]エラー', nickname + ' さんの代休申請の処理でエラーが発生しております。\n’ + e, { noReply: true }); } finally { i++; } } msg = Array.isArray(msg) ? msg.join(', ') + '出勤分' : msg; SSSQL.OPEN(id).GET(sheetName).UPDATE({ 備考: msg }, 'rowIndex = ' + rowIndex); }

エラーでは、67行目と言われている部分が、本内容では3行目の部分にエラーコードが表示されました。

var getMin = Number(get[0])*60 + Number(get[1]);

エラー内容です。

エラー TypeError: Cannot read property '0' of undefined Dayoff @ Google Script.gs:67

なぜ、エラーが出るのでしょうか。0だとダメなんでしょうか?
どうかよろしくお願い致します。

teratailyuya👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/11/04 11:29

Number()は数値への変換、あとはただの掛け算と足し算と代入ですけど、何がわからないですか?
meg_

2021/11/04 11:39

> 調べても、なかなか納得できる答えが見つからず、 解説を読んだけれど分からない箇所があった、という意味でしょうか?重複を避けるために読まれたサイトを追記されると良いかと思います。
gentaro

2021/11/04 13:26

作業依頼なら金払ってやってくれる人を募集しろ、でおわり。
sweets_code

2021/11/05 07:28

みなさま質問に対してのご回答、誠にありがとうございます。 わからない部分は、(get[0])の0の部分です。 ここが、0と記入されているなら、後ろの60はいらないのでは?ということです。 get[0]というのに*60している意味がわからないということです。 それとも、[0]にすることによって、どんな数字にも対応できるということでしょうか? 曖昧で幼稚な質問をしてしまい、申し訳ございません。 私の質問も言葉足らずでした。 重複を避けるために読んだサイトを追記するなどの助言ありがとうございます。次回の質問に活かしていきたいと存じます。
itagagaki

2021/11/05 07:42

「配列」がわかっていないようですね
sweets_code

2021/11/05 09:33

そうですね。 正直よくわかっていません。 「配列」と言われてもどういった部分なのかも正直よく分かっておりません。 大変、申し訳ございませんでした。 質問すれば、分かっていただけるかもしれないという軽い気持ちで投稿しておりました。。。
meg_

2021/11/05 10:54

> 重複を避けるために読んだサイトを追記するなどの助言ありがとうございます。次回の質問に活かしていきたいと存じます。 ”次から”ではなく今からでも追記することは出来ますよ。(質問は編集可能ですので)
sweets_code

2021/11/10 02:12

質問が再編集できること、ご教示いただきありがとうございます! 質問内容を変更しましたので、ご助力を仰ぎたくお願い申し上げます。
meg_

2021/11/10 04:17

> なぜ、エラーが出るのでしょうか。0だとダメなんでしょうか? Dayoff()の引数getに当たる部分には何を渡したのでしょうか?型が合っていないだけではないですか?
sweets_code

2021/11/10 04:33

Dayoff()の引数getに当たる部分には、数値を渡しています。(時間を表示したいので) 数値はNumberの型ではないのでしょうか?
meg_

2021/11/10 07:39

質問のコードはどこかから拾ってきたものでしょうか? getは配列を想定した変数に見えます。
sweets_code

2021/11/10 08:29

拾ってきたのではなく、前任者が作成したテストコードです。 おっしゃる通り、00:00という数値を作るために、配列を想定したget変数だと思われます。
meg_

2021/11/10 11:32

> 拾ってきたのではなく、前任者が作成したテストコードです。 ではその前任者に問い合わせるのが一番良いかと思いますが、出来ない場合でも社内の有識者の人に聞いた方が良いかと思います。仕様書等何もないんでしょうか?
guest

回答1

0

想像ですが
getは配列で1つ目に時間、2つ目に分が入っているのでしょう。
getMinには分で値を入れたいので、1つ目の時間を分にするために60(分)を掛け2つ目の分と足しているのでしょう。
想像ですが。

投稿2021/11/04 22:58

macaron_xxx

総合スコア3191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sweets_code

2021/11/05 07:29

なるほど! 1つ目の時間を分にするために60(分)を掛けているのですね! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問