次のJavascriptがハングアップしています。私は自分でApps Scriptを教えて、シート上のデータをソートしてきました。私のウェブデベロッパーの友人と私はこの特定のスクリプトがなぜ停止するのかについて最後の2時間は無知でした。それはちょうどスクリプトを永久に実行していると言います....Google Appsスクリプトのハングアップ(javascript)
私は、スプレッドシートのセクションがすでに他の機能の1つで印刷されているカレンダーエリアとして指定されています。テスト目的のために、私はこの関数を分離してダミー配列を与えましたが、関数はカレンダーをループし、 '日付'すなわち1,2,3,4thのCOORDを見つけ、その日付の下の空のセルの座標を返します(私はカレンダーにデータを入れます)。
function printCalendarValues(array){
var array = [0,143,534,342,54,1,41,1];
var Calendar_Display_range = recruiter_sheet.getRange('B8:H19');
var Calendar_Display_values = Calendar_Display_range.getValues();
function getCellBelow(day, rangeArray){
for(i=0; i<rangeArray.length; i++){
for(j=0;j<rangeArray[i].length; j++){
if(rangeArray[i][j]==day){
var res = [i+9,j+2];
return res;
};
};
}
};
for(i=0;i<2;i++){ //< ---- THIS IS WHERE IT BREAKS
// If I take the code in this for loop out of it and run it
// only once then it runs as expected. It breaks when I put it in
// this for loop. You can see I only loop twice right now. I
// did that for testing, but i've tried twice, or array.length
// anything other than running it once breaks it.
var cellBelow = getCellBelow(i+1, Calendar_Display_values);
recruiter_sheet.getRange(cellBelow[0],cellBelow[1]).setValue(array[i]);
};
};