Javascript Google脚本中的数组覆盖问题

Javascript Google脚本中的数组覆盖问题,javascript,google-apps-script,google-api,google-sheets,Javascript,Google Apps Script,Google Api,Google Sheets,我正在编写一个GoogleSheets扩展。基本上,脚本查看的表如下所示: “A”|“B”|“C”|“E~F” 对于第四列中被“~”拆分的每个字符串,我需要创建两个arrray,以便最后一列是E或F,但其余值相同,如下所示: [“A”、“B”、“C”、“E”]、[“A”、“B”、“C”、“F”]] 现在,理论上这应该很容易:我将最后一列拆分并在上面循环。但是,当我附加数组时,它会覆盖第二个值,给我留下: [“A”、“B”、“C”、“F”]、[“A”、“B”、“C”、“F”]]。 请注意,E列将来

我正在编写一个GoogleSheets扩展。基本上,脚本查看的表如下所示: “A”|“B”|“C”|“E~F”

对于第四列中被“~”拆分的每个字符串,我需要创建两个arrray,以便最后一列是E或F,但其余值相同,如下所示: [“A”、“B”、“C”、“E”]、[“A”、“B”、“C”、“F”]] 现在,理论上这应该很容易:我将最后一列拆分并在上面循环。但是,当我附加数组时,它会覆盖第二个值,给我留下: [“A”、“B”、“C”、“F”]、[“A”、“B”、“C”、“F”]]。 请注意,E列将来的元素数量不确定。 谢谢你的帮助

var rangeArr=[[“BF-A”,“真的”,“如果你今天值班,提醒你做一份天气报告”,“某物”,“2.0”,“汉弗莱·博加特~James Dean'],[“BF-B”,“真的”,“请立即报告BF的状况”,“其他东西”,“4.0”,“汉弗莱·博加特~James Dean'],['R-A6'、'true'、'善意地提醒报告水库水位'、'完全不同的东西'、'1.0'、'安吉拉·默克尔'];
var newArr=[[]];
var计数=0;
对于(我在rangeArr中){
var-str=rangeArr[i][5];
变量位置=str.split(“~”);
var otherThings=rangeArr[i];
其他的东西
为了(在某些地方){
其他事物[5]=地点[a]
var nextThing=其他事物
newArr[count]=nextThing;
计数=计数+1;
}
}
警报(newArr)

我找到了一个解决方法。我不完全理解前面的代码为什么不起作用,这可能反映了我对JS数组的理解不足。我只是从两个不同数组的元素创建了一个数组,而不是将一个元素附加到原始数组中

var rangeArr=[[“BF-A”,“真的”,“如果你今天值班,提醒你做一份天气报告”,“某物”,“2.0”,“汉弗莱·博加特~James Dean'],[“BF-B”,“真的”,“请立即报告BF的状况”,“其他东西”,“4.0”,“汉弗莱·博加特~James Dean'],['R-A6'、'true'、'善意地提醒报告水库水位'、'完全不同的东西'、'1.0'、'安吉拉·默克尔'];
var newArr=[[]];
var计数=0;

对于(i=0;i是否会有两个以上的元素从列E中拆分?是的。很抱歉之前没有提到这一点,不幸的是,列E中的元素数量是不确定的,并且将变得相当大。我认为问题在于
newArr[count]
实际上是由对
其他事物的引用填充的,该引用会随着每次迭代而更新。解决方案是使用
var nextThing=otherThings.slice()