実現したいこと&発生している問題
Spreadsheet上の英語のクイズ問題や正答を、毎日LINEのグループに投稿するシステムを作っています。
こちら(terarail)で相談したりして、概ね完成したのですが、
下記のように不要なカンマが入ってしまいます。
不要なカンマが入らないようにコードを修正するにはどうすればよいでしょうか
お知恵を拝借できれば幸いです。
該当のソースコード
Spreadsheet上のA~E列にかけて
日付、問題番号、英語の問題文、日本語訳、正答が入力してあります。
1//*******問題番号と正答を投稿するプログラム********** 2 3function postAnswers2LINE() { 4 5 //本日の日付を取得する 6 const today = new Date(); 7 8 //検索する範囲を指定する 9 const dataRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Index').getDataRange().getValues().slice(1); 10 //console.log(dataRange); 11 12 //今日の日付と先頭列に記入されている日付が一致しているレコードだけ抜き出す 13 let filtered= dataRange.filter(function(record){ 14 if(record[0].getFullYear() === today.getFullYear() && record[0].getMonth() === today.getMonth() && record[0].getDate() === today.getDate()){ 15 return true; 16 } 17 }); 18 //console.log(filtered); 19 20 //問題番号と正答だけにする(A列とE列の情報だけにする) 改行も入れる 21 let message = filtered.map(function(e) { return "\n"+e[1]+"\n"+e[4]+"\n";}); 22 23 24 //日付と初回、復習1~3回目のいずれかを冒頭に明示する 25 const title=today.getMonth()+1+"/"+today.getDate()+" "+"復習3回目の正答"; 26 message = title + message; 27 console.log(message); 28 29 //LINEに投稿する関数sendHttpPost_lineに変数messageを渡して起動する 30 sendHttpPost_line(message); 31 32} 33
###試したこと
配列に文字列を+で追加するのがまずいのかなと思って 下記の部分を
//日付と初回、復習1~3回目のいずれかを冒頭に明示する const title=today.getMonth()+1+"/"+today.getDate()+" "+"復習3回目の正答"; message = title + message;
以下のようにunshiftを使って書き直してみましたが、
const title=today.getMonth()+1+"/"+today.getDate()+" "+"復習3回目の正答"; const unshifted = message.unshift(title); console.log(message );
このようなログになり上手くいきません
[ '2/1 復習3回目の正答',
'\n1859\nIn\n',
'\n1856\nupper\n',
'\n1854\nbrain\n' ]
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 23:19
2021/02/01 23:41