首页 > 解决方案 > 在添加元素时循环遍历数组中所有元素的最有效方法

问题描述

我在 Google Apps Script Javascript 中有一个二维数组。我正在尝试遍历所有元素,但其中一个循环选项是添加另一个元素。例如:

for (let i in arr){
  if (arr[i][0] == "good")
    arr[i].push("clear");
  else if (arr[i][0] == "add")
    arr.splice(+i+1,0,"good");
}

但是它并没有经历代码的实际结尾,我想是因为“让 i in arr”一次获得了数组的长度并到达了那个结尾。这导致了以后的问题。我应该使用 while 还是执行 while 循环?我是否应该声明一个长度值并在添加元素时手动增加它?

标签: javascriptgoogle-apps-scriptmultidimensional-array

解决方案


在您的条件下使用arr.length,它将检查最新的数组长度。

for (let i = 0; i < arr.length; i++) {
  if (arr[i][0] == "good")
    arr[i].push("clear");
  else if (arr[i][0] == "add")
    arr.splice(+i+1,0,"good");
}

推荐阅读