如何从两个不同的字段进行映射?如果它存在于a.k.l.m.url,我需要将b.url设置为a.x.y.z.url:
b.url =存在(a.x.y.z.url)? a.x.y.z.url:存在(a.k.l.m.url)? a.k.l.m.url:defaultValue
表达式可能会有所帮助,但是如果我检查所有嵌套字段是否为空,那将会很长,例如" a!= null&& a.getX()!= null&& a.getX()。getY()!= null&& a.getX()。getY()。getZ()!= null&& a.getX()。getY()。getZ()。getURL()!= null? a.getX()。getY()。getZ()。getURL():..."
谢谢, 帕维尔
答案 0 :(得分:0)
您可以使用MapStruct this来访问映射对象。
getUrl(A a)
理论上,您可以通过将Mapper声明为抽象类并定义getUrl(a)
方法来表达。你可以在表达中调用@AfterMapping
。
我建议使用function myFunction() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName("Sheet1");
var values = sheet.getRange("A:A").getValues();
var row_del = new Array();
for(var i=0;i<values.length;i++)
{
if(values[i] == 'N'){
row_del.push(i+2); // This line was added for debugging purposes.
// sheet.deleteRow(i+2) was the line that was in this condition
// (i+2) is used because row 1 has headers and the range starts from 0.
}
}
// Logger.log(row_del);
// GmailApp.sendEmail("my_email_address", "subject", row_del)
for (var i = row_del.length - 1; i>=0; i--) { sheet.deleteRow(row_del[i]); }
}
,因为它更清洁(在我看来)