Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 数组的值与Array.length=0一起出现_Arrays_Google Apps Script_Google Sheets - Fatal编程技术网

Arrays 数组的值与Array.length=0一起出现

Arrays 数组的值与Array.length=0一起出现,arrays,google-apps-script,google-sheets,Arrays,Google Apps Script,Google Sheets,我的目标是根据联系人是否“出价”,将联系人信息从工作表“callLog”复制并粘贴到另一个工作表。为了确定粘贴信息的位置,我正在从工作表“meh”的第一行收集数据,并将其放入一个数组中。变量rowGet和rowValues正在收集正确的信息,但rowValues.length=0。这会导致以下for循环提前结束,并且每个值都被粘贴在彼此的顶部 请帮助我理解为什么数组长度为0,以及如何获得正确的值 谢谢, -克里斯 粘贴位置表设置: +---+-----------+-----------+---

我的目标是根据联系人是否“出价”,将联系人信息从工作表“callLog”复制并粘贴到另一个工作表。为了确定粘贴信息的位置,我正在从工作表“meh”的第一行收集数据,并将其放入一个数组中。变量rowGet和rowValues正在收集正确的信息,但rowValues.length=0。这会导致以下for循环提前结束,并且每个值都被粘贴在彼此的顶部

请帮助我理解为什么数组长度为0,以及如何获得正确的值

谢谢, -克里斯

粘贴位置表设置:

+---+-----------+-----------+-----------+
|   |     A     |     B     |     x     |
+---+-----------+-----------+-----------+
| 1 | Comp Name |    ...    | Comp Name |
+---+-----------+-----------+-----------+
| 2 | Cont Name |    ...    | Cont Name |
+---+-----------+-----------+-----------+
| 3 |  Number   |    ...    |  Number   |
+---+-----------+-----------+-----------+
| 4 |  email    |    ...    |   email   |
+---+-----------+-----------+-----------+
代码:

函数DistributeBdder(){
var电子表格=SpreadsheetApp.getActiveSpreadsheet();
var sheet=spreadsheet.getSheetByName('calllog');
sheet.activate();
var range=电子表格.getRangeByName(“bidList”);
var copySheet=spreadsheet.getSheetByName('这很有效');
//找到那些值为“出价”的单元格,并将它们添加到需要隐藏的单元格列表中
var vBidders=[];
对于(var r=1;r这条线

var rowValues = rowGet.getValues()
将生成一个2D数组,或:一个数组,其中一个数组是唯一的元素。此内部数组的值为单元格A1:H1,如下所示:

[[A1, B1, C1, D1, E1, F1, G1, H1]]
因此,通过行值的循环将只运行一次。 rowValues[j]是内部数组[A1、B1、C1、D1、E1、F1、G1、H1],永远不会与字符串匹配。不清楚公司名称在哪个单元格中,但假设它在A1中,您应该有如下if语句

rowValues[j][0] == "Company Name"
另一种方法是通过执行以下操作直接循环内部数组的列

for (var j = 0 ; j < rowValues[0].length ; j++) {
if(rowValues[0][j] == "Company Name") {
希望这有点帮助。

这行

var rowValues = rowGet.getValues()
var rowGet = copySheet.getRange("A1:H1");
将生成一个2D数组,或:一个数组,其中一个数组是唯一的元素。此内部数组的值为单元格A1:H1,如下所示:

[[A1, B1, C1, D1, E1, F1, G1, H1]]
因此,通过行值的循环将只运行一次。 rowValues[j]是内部数组[A1、B1、C1、D1、E1、F1、G1、H1],永远不会与字符串匹配。不清楚公司名称在哪个单元格中,但假设它在A1中,您应该有如下if语句

rowValues[j][0] == "Company Name"
另一种方法是通过执行以下操作直接循环内部数组的列

for (var j = 0 ; j < rowValues[0].length ; j++) {
if(rowValues[0][j] == "Company Name") {
希望对你有点帮助

var rowGet = copySheet.getRange("A1:H1");
此处
rowGet
获取值1,因为返回的是范围,而不是项目

var rowValues = rowGet.getValues();
rowValues.length
不返回rowValues中的项目数。它返回范围(行)数,即1

如果范围是
“A1:H2”
,它将返回2。 如果范围是
“A1:H3”
,它将返回3。 你明白了

要获得每行的实际长度,请知道它们是2d数组,因此您可以执行以下操作:

rowGet[0].length
这将返回第一行中的项目数

rowGet[1].length
这将返回第二行中的项目数。 你明白了

希望这些信息有帮助

此处
rowGet
获取值1,因为返回的是范围,而不是项目

var rowValues = rowGet.getValues();
rowValues.length
不返回rowValues中的项目数。它返回范围(行)数,即1

如果范围是
“A1:H2”
,它将返回2。 如果范围是
“A1:H3”
,它将返回3。 你明白了

要获得每行的实际长度,请知道它们是2d数组,因此您可以执行以下操作:

rowGet[0].length
这将返回第一行中的项目数

rowGet[1].length
这将返回第二行中的项目数。 你明白了


希望这些信息有帮助。

rowValues[0]。长度和rowValues[0][j]正是我需要的。谢谢你的帮助!@chrismgr:most welome!rowValues[0]。长度和rowValues[0][j]正是我需要的。谢谢你的帮助!@chrismgr:most welome!