对于这个问题,我已经浏览了许多类似的答案,但是还没有任何有效的解决方案。
我有两个单独的函数,每个都有一个数组,我将其填充为: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