无法使用 getRange 和 getValues 获取列的值

这是我到目前为止的代码:

var items = data.getRange(1,14,1,lc).getValues()[0];
var names = cdata.getRange(52, 1, 28,1).getValues()[0];

当我记录“项目”时,我得到了填充在单个数组中的所需信息。当我尝试使用类似的方法获取列中的“名称”时,我只能获取单个数组中的第一个单元格或数组数组中的所有所需单元格。

项目示例

[项目 1、项目 2、项目 3、...]

名称示例

[名称 1] 或 [[名称 1]、[名称 2]、[名称 3]、[...]]

为什么我无法使用与在行中相同的方法来准确检索列中的名称?我该如何解决这个问题并获得想要的结果?如何获取名称以返回单元格中的数据,就像处理项目一样?


湖上湖
浏览 89回答 2
2回答

白衣非少年

我看到您有 1 列名称与 [] 组合在一起。这将从像 [ [][][] ] (而不是 [ [] ])这样的结构返回 [] 结果。如果您的项目有多行,您将获得整个第一行 [,,,],如您在项目中建议的那样。var items = data.getRange(1,14,1,lc).getValues()[0];var names = cdata.getRange(52, 1, 28,1).getValues()[0];这更多的是一种诊断而不是答案。基本上,你已经得到了你应该得到的东西,但我认为你希望它得到转换。有多种方法可以做到这一点。但这行得通吗?// flatten(flatten()) works for 2-level nesting, and so onfunction flatten(arrayOfArrays){  return [].concat.apply([], arrayOfArrays);}

鸿蒙传说

你将不得不使用这个:var names = cdata.getRange(52, 1, 28,1).getValues().flat();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript