コンテンツが配列内にない場合は、さまざまなセルをループして文字列コンテンツを追加します。私はそうのように手動でそれを行うときには、すでに 『eJobs』をcontaints配列(VAR項目= 『eJobs』」の下を参照)に「eJobs」を追加しようと、完全に正常に動作します:Apps Script JS配列から配列に項目を追加する(配列にまだ入っていない場合)
var divisionarray = ['eJobs']
for (var i = 0; i < cells_users.length-1; ++i) {
var row_users = cells_users[i];
if (row_users[0] == user_ldap) {
var podarray = row_users[1].split(', ')
for (j = 0; j < podarray.length; j++) {
for (var k = 0; k < cells_edit.length; ++k) {
var row_edit = cells_edit[k]
if (podarray[j] === row_edit[0]) {
var item = 'eJobs'
if (!(divisionarray.indexOf(item) >= 0)) {
divisionarray.push(item)
}
}
}
}
Logger.log(divisionarray)
期待どおり、ログファイルに[17-10-08 19:11:04:111 BST] [eJobs]と表示され、コードが動作し、 'eJobs'が配列に既に追加されていないことが示されます配列。
今、var item = 'eJobs'を範囲の値に変更するとき
var item = sheet_pods_edit.getRange(startRow+k, startColumn+1).getValue();
ログファイルが示すように、コードは、anylongerは動作しません:
[17-10-08 19:14:03:770 BST] [eJobs, eJobs, BestJobs, Vivre Deco, ...
注私は、数千のセルの範囲を持っているので、私は取得重複の多くが追加されました。私は何が欠けていますか?定義された範囲のセルは実際には単一の単語を含む文字列(例: 'eJobs')であることに注意してください。
1.同意するが、私は、後にその文字列を供給するので、私はそのスペースを必要とするを使用角オートコンプリートは、コンマの間のスペースなしでは動作しません。詳細を説明せずにここに貼り付けるのはあまりにも多くのコードです。 2.このラインはテストのためのものではなく、私は効率性に関して懸念していません。それは1秒未満で実行され、私の目的のために十分です。 3. typoですが、アプリスクリプトで==または===を使用すると本当に問題になりません。 – tealowpillow