如何将一维普通数组转换为Google Apps Script所需的二维值数组
Google App Script一维数组转setValues要求的二维数组方法
结构说明
你需要得到的目标结构属于二维值数组,刚好是Google App Script中range.setValues()方法要求的入参格式:外层数组的每个元素对应工作表的一行,内层数组的每个元素对应该行的一列单元格值,你当前的需求本质是把一维数组的每个元素单独作为一行、每行仅占1列的格式转换。
转换实现
直接用数组map方法批量处理即可,逻辑为null值转换为空数组,其余值包裹为单元素数组:
// 原始一维数组 const sourceArr = [null, 1890, null, NGU]; // 转换后符合要求的二维数组 const resultArr = sourceArr.map(item => item === null ? [] : [item]);
如果习惯用循环push写法,注意要把每个元素包裹成数组后再push,不要直接push原始值:
const sourceArr = [null, 1890, null, NGU]; const resultArr = []; for (let i = 0; i < sourceArr.length; i++) { const current = sourceArr[i]; resultArr.push(current === null ? [] : [current]); }
之前输出异常的原因
你之前直接将原数组的元素push进新数组,没有给每个元素套一层内层数组,所以得到的还是一维数组,和原数组结构完全一致,不符合setValues方法的入参要求。
内容的提问来源于stack exchange,提问作者Mark Locklear
相关产品推荐
相关产品推荐

