Google Apps Scriptを使用して簡単な電子メールボットハンドラを作成しています。
何かの配列があるとします。
for-eachループを使用して配列を反復処理したいとします。
(アレイを繰り返し実行するたびにfor(var i=0;i<threads.length;i++)
と書くのは面倒です)
私はgoogle appsスクリプトのfor-eachループを探しています。
私は既にthis答えを見ましたが、オブジェクトは未定義です。おそらくforループが機能しないからです。Google Appsスクリプトの各ループについて
// threads is a GmailThread[]
for (var thread in threads) {
var msgs = thread.getMessages();
//msgs is a GmailMessage[]
for (var msg in msgs) {
msg.somemethod(); //somemethod is undefined, because msg is undefined.
}
}
(私はまだJavaScriptに新しいんだけど、私はJavaからのfor-eachループを知っている。)
まさにあなたの問題は何ですか? – tommyO
(varスレッドのスレッド){ var msgs = thread.getMessages(); // msgsはGmailメッセージです。 ... } } –
for ...オブジェクトのキーではなく値を反復処理します。 JSには、配列に追加されたカスタムプロトタイプが含まれるため、このパターンは推奨されません。より洗練されたソリューションをお望みなら、私は 'thread.map(handleThread)'か何かそれらの行に沿って何かを提案します –