Javascript 我如何返回结果而不是两者

Javascript 我如何返回结果而不是两者,javascript,arrays,if-statement,google-apps-script,google-sheets,Javascript,Arrays,If Statement,Google Apps Script,Google Sheets,我有一段代码,应该在附加到工作表之前处理一个条件 我只想附加一个值,即,如果数据有两个匹配项,则只有一个值应附加到工作表中,另一个值将被忽略,循环将继续到下一项 如果两者都满足条件,那么下面的代码将附加它们。我使用了| |运算符 if (contents.length > 0) { var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects'); var values = co

我有一段代码,应该在附加到工作表之前处理一个条件

我只想附加一个值,即,如果数据有两个匹配项,则只有一个值应附加到工作表中,另一个值将被忽略,循环将继续到下一项

如果两者都满足条件,那么下面的代码将附加它们。我使用了| |运算符

    if (contents.length > 0) {
        var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects');
        var values = contents.map(e => ([e.email, e.role]));
        var new_values = values.filter(item => {
                                       
            if (item[1] === 'Project Leader' || item[1] === 'Senior Project Leader') {
                return true
            }

        })
       dstSheet.getRange(3, 8, new_values.length, new_values[0].length).setValues(new_values); 
    }
}
这是我曾经研究过的一个,但它仍然传递两个值。基本上,我希望附加项目负责人或高级项目负责人,而不是两者

    if (contents.length > 0) {
        var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects');
        var values = contents.map(e => ([e.email, e.role]));
        var new_values = values.filter(item => {
                                       
            if ((item[1] === 'Project Leader' && item[1] != 'Senior Project Leader') || (item[1] === 'Senior Project Leader'&& item[1] != 'Project Leader')) {
                return true
            }

        })
       dstSheet.getRange(3, 8, new_values.length, new_values[0].length).setValues(new_values); 
    }
}

我的Javascript真的生锈了,所以我相信你可以找到一个更优雅的解决方案。因此,这将添加到新的_值中,所有“项目负责人”或“高级项目负责人”的值取决于谁是第一个获得这些值的人

    if (contents.length > 0) {
    var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects');
    var values = contents.map(e => ([e.email, e.role]));
    var role = undefined;
    var new_values = values.filter(item => {
                                   
        if ((undefined === role && (item[1] === 'Project Leader' || item[1] === 'Senior Project Leader')) || (role === item[1])) {
            role = item[1];
            return true
        }

    })
   dstSheet.getRange(3, 8, new_values.length, new_values[0].length).setValues(new_values); 
}

我的Javascript真的生锈了,所以我相信你可以找到一个更优雅的解决方案。因此,这将添加到新的_值中,所有“项目负责人”或“高级项目负责人”的值取决于谁是第一个获得这些值的人

    if (contents.length > 0) {
    var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects');
    var values = contents.map(e => ([e.email, e.role]));
    var role = undefined;
    var new_values = values.filter(item => {
                                   
        if ((undefined === role && (item[1] === 'Project Leader' || item[1] === 'Senior Project Leader')) || (role === item[1])) {
            role = item[1];
            return true
        }

    })
   dstSheet.getRange(3, 8, new_values.length, new_values[0].length).setValues(new_values); 
}