web-dev-qa-db-ja.com

スプレッドシート-GoogleApp Script [文字列分割機能]

分割関数に関するいくつかの考えを検証したかっただけです。簡単なコードを作成しました。

var array1 = [{}];
var string1 = "A, B, C, D";

array1 = string1.split(",");

この問題は、たとえばフラッシュでのこの種のコーディングに基づいています。 string1はすべての","を分割し、それをこの形式["A","B","C", "D"]でarray1に転送します。この種の概念は、Googleスプレッドシート-GASに似ていますか?はいの場合、いくつかの例を見つけることができますか?どうもありがとう。

追伸:","を分割しようとすると、値"A B C D"のみが単一の要素として返されます。

ありがとう、ナッシュ:)

7
Nash

あなたのコードは間違いなく機能するはずです。Logger.log(array1);にブレークポイントを設定してこれを実行しました。デバッガーはそれを配列として表示し、ログはそれを_[A, B, C, D]_としてログに記録します。必要な出力を取得するには、分割にスペースを追加して取得する必要があることに注意してください:string1.split(", ");

_function myFunction() {
  var array1 = splitTest();
  Logger.log(array1);
}

function splitTest() {
  var array1 = [{}];
  var string1 = "A, B, C, D";

  array1 = string1.split(", ");
  return array1
}
_
13
Brandon

@Brandonと@JobinJoseph ...「コメント」するのに十分なポイントがないため、「回答」を余儀なくされました。

サンプルコードで指定されているsplit関数を使用すると、Google AppScriptで次のエラーが発生します。

 "TypeError: Cannot find function split in object"

これを修正する方法の提案はありますか?

これは私のコードです:

function pasteValuesLocal(lastRowResponse){

   var lastRowResponseArray = [{}];
   lastRowResponseArray = lastRowResponse.split(",");
}
0
J. Doe

J.Doe、コメントも送信できませんが、ここでの問題は、フォームから値を取得する場合、その型が文字列ではなくオブジェクトになる可能性があることです。したがって、オブジェクトに関数がないというエラーが発生します。

これらのオブジェクトを次のように文字列に変換することで、これを回避できます。

objectPretendingString = JSON.stringify(objectPretendingString) //becomes a string
0
am.sbr