为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

湖上湖 2023-08-18 14:08:00
这是我到目前为止的代码: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]、[...]]为什么我无法使用与在行中相同的方法来准确检索列中的名称?我该如何解决这个问题并获得想要的结果?如何获取名称以返回单元格中的数据,就像处理项目一样?
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

我看到您有 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 on

function flatten(arrayOfArrays){

  return [].concat.apply([], arrayOfArrays);

}

查看完整回答
反对 回复 2023-08-18
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

你将不得不使用这个:

var names = cdata.getRange(52, 1, 28,1).getValues().flat();


查看完整回答
反对 回复 2023-08-18
  • 2 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信