我正在根据棒球阵容为自己的休闲写一个项目。我正在尝试根据随机播放器(行)放置位置编号。我检查了正确的位置(2 =捕手,3 =一垒,......等)然后将数字放在下面的空闲单元格中。但是,我一直收到这个错误:
TypeError:无法读取属性" 1"来自undefined。 (第38行,文件" PBR")
我认为我需要以某种方式重置值,并尝试查看其他线程,但我无法弄明白。它的工作时间大约只有50%,可能是因为随机化的结果如何。
function placePos(posNum){
var j;
rng = newSheet.getDataRange();
array = rng.getValues();
j = Math.floor(Math.random() * (array.length + 1));
pos1 = array[j][1];
pos2 = array[j][2];
switch(posNum){
case 2:
if(((pos1 == 'C') || (pos2 == 'C')) && (newSheet.getRange(j+1, 4).isBlank())){
newSheet.getRange(j+1, 4).setValue(posNum);
delete pos1;
delete pos2;
}
else{
delete pos1;
delete pos2;
placePos(2);
}
break;
case 3:
if(((pos1 == '1B') || (pos2 == '1B')) && (newSheet.getRange(j+1, 4).isBlank())){
newSheet.getRange(j+1, 4).setValue(posNum);
delete pos1;
delete pos2;
}
else{
delete pos1;
delete pos2;
placePos(3);
}
break;
}
}
我将placePos函数调用两次,但会调用它来填写整个1-9列。我曾尝试寻找其他多个线程寻求帮助,但未能找到有帮助的解决方案。