Google App Script实现谷歌表格1×6数组向下填充生成指定行×6数组
实现方案
你需要的功能核心是将原一维数组拷贝指定次数后组装为二维数组,注意要避免浅拷贝导致修改某一行所有行同步变化的问题,以下是不同常用语言的实现:
Python 实现
array_to_fill_down = ["a", "b", "c", "cat", 15, "blue"] rows = 3 # 推荐方案:列表推导式+copy,基础类型数组完全适用 array_output = [array_to_fill_down.copy() for _ in range(rows)] # 嵌套对象场景:用deepcopy保证完全隔离 from copy import deepcopy array_output = [deepcopy(array_to_fill_down) for _ in range(rows)]
踩坑提醒:不要写
array_output = [array_to_fill_down] * rows,这种写法生成的所有行都指向同一个数组引用,修改任意一行的元素会同步修改所有行。
输出示例:
[ ['a', 'b', 'c', 'cat', 15, 'blue'], ['a', 'b', 'c', 'cat', 15, 'blue'], ['a', 'b', 'c', 'cat', 15, 'blue'] ]
JavaScript 实现
const array_to_fill_down = ["a", "b", "c", "cat", 15, "blue"] const rows = 3 // 基础类型数组方案 const array_output = Array.from({length: rows}, () => [...array_to_fill_down]) // 嵌套对象场景方案 const array_output = Array.from({length: rows}, () => JSON.parse(JSON.stringify(array_to_fill_down)))
输出示例:
[ [ 'a', 'b', 'c', 'cat', 15, 'blue' ], [ 'a', 'b', 'c', 'cat', 15, 'blue' ], [ 'a', 'b', 'c', 'cat', 15, 'blue' ] ]
符号规范说明:你示例中用
{}包裹每行元素的写法不符合常规数组语法,通用的二维数组外层和内层统一用[]包裹,如果你需要的是元组、集合或对象类型,可以自行调整内层结构的声明符号。
内容的提问来源于stack exchange,提问作者Phil
相关产品推荐
相关产品推荐

