【问题标题】:"Join" two arrays“加入”两个数组
【发布时间】:2019-12-01 17:43:48
【问题描述】:

在 Google Apps 脚本中加入两个数组最有效的方法是什么?

我有一个按 id 排序的二维数组:

[
[1, "A", "B", "C"],
[2, "B", "B", "B"],
[3, "C", "A", "B"],
]

和另一个类似的数组

[
[1, "D"],
[3, "B"],
[2, "B"],
]

最有效的方法是什么:

[
[1, "A", "B", "C", "D"],
[2, "B", "B", "B", "B"],
[3, "C", "A", "B", "B"],
]

【问题讨论】:

  • 第二个数组令人困惑。结果将是相同的,即使内部数组中的第一个元素是 1,2,3 而不是 1,3,2。另外,第一个元素是唯一的吗?如果有 1,3,3 怎么办?
  • 第一个元素是唯一的。
  • 使用您的唯一键将第二个数组转换为对象。然后您可以使用键轻松调用它们并将其推送到数组的末尾。
  • 请按照How to Ask 的建议添加您的搜索/研究工作的简要说明。
  • @J. G. 我可以问你关于你的问题吗?当[[1, "D"],[3, "B"],[2, "B"]]中的[3, "B"][2, "B"]分别是[3, "B3"][2, "B2"]时,你想要什么结果?

标签: javascript arrays performance multidimensional-array google-apps-script


【解决方案1】:

试试这个:

function combine() {
  var vA=[[1, "A", "B", "C"],[2, "B", "B", "B"],[3, "C", "A", "B"]];
  var vB=[[1, "D"],[3, "B"],[2, "B"]];        
  for(var i=0;i<vB.length;i++) {
    vA[i].splice(vA[i].length,0,vB[i][1]);
  }
  Logger.log(JSON.stringify(vA));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2011-03-06
    • 2019-05-12
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    相关资源
    最近更新 更多