对于这个问题,我已经浏览了许多类似的答案,但是还没有任何有效的解决方案。

我有两个单独的函数,每个都有一个数组,我将其填充为:


folderMap.push([{siteurl: filename,logid: fileurl}]);
mapping.push([{siteurl: x[0],shareddriveid: x[1]}]);


我想要第三个函数,我想基于siteurl匹配项并将该对象放入一个数组,同时将没有所有三个项(siteurl,logid和shareddriveid)的所有匹配项放入另一个数组。源阵列将具有不同的大小。我当前的代码如下所示:

  const combined = folderMap.concat(mapping);
  const applicable = combined.filter(i => i[0]['siteurl'] && i[0]);
  const byTeamUrl = combined.reduce((acc, item) => {
      acc[item['siteurl']] = Object.assign(acc[item['siteurl']] || {}, item);
      if (item.length > 2) {
        Logger.log(item);
        }
      return acc;
  }, {});


什么都没有输出,但是我知道两个源数组中至少应包含三个项目。这是怎么了

最佳答案

Google Apps脚本当前不支持ECMAScript 2015(ES6)。因此,箭头功能将不起作用。

根据Google的文档:Basic JavaScript Features

查看此答案:https://stackoverflow.com/a/51628532/8245557

但是,您可以使用clasp在TypeScript中开发Apps脚本:Develop Apps Script using TypeScript

09-07 08:22