我有這個資料作業簿 -
uj5u.com熱心網友回復:
我最終使它與此一起使用
function organiseLeads() {
const [headers, ...leads] = leadSheet.getDataRange().getValues();
try {
for (var i in leads) {
var [leadId, name, email, companyName, region, type, industry, accountId, oppId, createdDate] = leads[i];
var date = Utilities.formatDate(createdDate,"GMT","dd-MM-yyyy");
if (!companies.names.hasOwnProperty(companyName)) {
companies.names[companyName] = {};
companies[companyName] = {
'region': region,
'type': type,
'createDate': date,
'ids': {
'opportunityId': oppId,
'accountId': accountId,
'leadId': leadId
},
'activities': [{
'type': 'Lead Created',
'date': date,
'detail': email
}]
}
} else if (companies.names.hasOwnProperty(companyName) && date.valueOf() < companies.names[companyName].createDate) {
companies.names[companyName].createDate = date;
companies.names[companyName].activities.push({ 'type': 'Lead Created', 'date': date, 'detail': email });
} else if (companies.names.hasOwnProperty(companyName) && createdDate.valueOf() > companies.names[companyName].createDate) {
companies.names[companyName].activities.push({ 'type': 'Lead Created', 'date': date, 'detail': email });
}
}
Logger.log(companies)
return companies;
} catch (e) {
Logger.log(e);
Logger.log(companies.hasOwnProperty(companyName));
Logger.log("%s, %s, %s, %s, %s, %s, %s, %s, %s, %s",leadId, name, email, companyName, region, type, industry, accountId, oppId, date);
Logger.log(companyName);
Logger.log(companies);
}
我將 company.some() 換成了 .hasOwnProperty(),因為它是一種更好的檢查方式,而且速度更快。在我首先添加嵌套鍵值對之前,我還必須宣告公司。最后,我添加了一個名為“names”的嵌套元素。我不確定我需要這個。
我認為@Cooper 有一個很好的答案,可以更輕松地查看壓縮代碼,它只是沒有解決我的特定用例問題。我將嘗試根據我的需要更新他的解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/466577.html
下一篇:時態表谷歌表
