GAS / JavaScript: Wie gebe ich das Ergebnis zurück und nicht beide?

Gerade :

Ich habe diesen Code, der eine Bedingung verarbeiten soll, bevor er an ein Blatt angehängt wird.

Ich möchte nur einen Wert anhängen, dh wenn die Daten zwei Übereinstimmungen haben, sollte nur einer an das Blatt angehängt und der andere ignoriert werden, und die Schleife fährt mit dem nächsten Element fort.

Hier ist der Code, der beide anfügt, wenn sie die Kriterien erfüllen. Ich habe das || benutzt Operator.

    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); 
    }
}

Hier ist der, an dem ich gearbeitet habe, aber er übergibt immer noch zwei Werte. Im Wesentlichen möchte ich, dass entweder der Projektleiter oder der Senior-Projektleiter angehängt wird und nicht beide.

    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); 
    }
}
ChaudPain:

Mein Javascript ist wirklich rostig, daher bin ich sicher, dass Sie eine elegantere Lösung finden können. Dies fügt also new_values ​​alle 'Projektleiter' oder 'Senior Projektleiter' aus Werten hinzu, je nachdem, wer der Erste ist, den es erhält.

    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); 
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie blockiere ich ein Javascript-Versprechen und gebe das aufgelöste Ergebnis zurück?

Wie vergleiche ich Daten in zwei Arrays und gebe das nicht übereinstimmende Array in Javascript zurück?

Wie vergleiche ich zwei Datenrahmen und gebe das Ergebnis zurück?

Wie gebe ich ein Ergebnis zurück, das auf Kriterien und angegebenen Summen basiert?

Wie gebe ich das Ergebnis eines rekursiven Abrufs zurück?

Wie gebe ich das Ergebnis von ADD AND in Python zurück?

Wie gebe ich das Ergebnis eines spirngEventListener zurück?

Wie öffne ich die Kamera aus einer Reihe von RecyclerView und gebe das Ergebnis in onActivityResult zurück?

Wie vergleiche ich zwei 2D-Arrays und gebe das Ergebnis in einer bestimmten Reihenfolge zurück (Google Apps Script)?

Wie füge ich eine Zeile in SQLite in einem anderen Thread ein und gebe das Ergebnis mit dem Handler zurück?

Wie gebe ich das Ergebnis aus der Addition von a und b in einer Long-Methode zurück?

Wie vergleiche ich zwei Arrays und gebe die Differenz zurück? (In beide Richtungen arbeiten?)

Wie iteriere ich Liste [Ergebnis] und gebe einen Booleschen Wert / Ergebnis zurück?

Wie gebe ich das Ergebnis der for-Schleifenzählung mit Python zurück?

Wie gebe ich das Ergebnis meines Abrufs mit Mähdrescher zurück?

Wie gebe ich das Ergebnis von zwei Abfragen untereinander zurück?

Wie gebe ich das React-Element aus einem Promise-Ergebnis zurück?

Wie gebe ich das Ergebnis einer Mongodb-Pipeline mit einer Get-Methode zurück?

Wie gebe ich das Ergebnis von Cloud Functions richtig zurück?

Wie erhalte ich den eindeutigen Zeilenwert und gebe ein boolesches Ergebnis in Python-Pandas zurück?

Wie zähle ich Spalte 1 und gebe das Ergebnis in Spalte 2 für bestimmte ID-Nummern für die aktuelle Zeile und höher zurück?

Wie addiere ich zwei Vektoren mit einem Skalar und speichere das Ergebnis in einem der beiden Vektoren und gebe diesen Vektor von einer Funktion in C zurück?

Wie mache ich parallele Anfragen und gebe ein Objekt zurück, das alle parallelen Antworten in Javascript enthält?

Wie finde ich ein Muster in einer Javascript-Variablen und gebe das gefundene Element in einem Array zurück?

Wie gebe ich ein Array zurück, das die Elemente enthält, die nicht mit einem bestimmten Parameter in JavaScript übereinstimmen?

Wie rufe ich eine externe Methode einer Klasse mit Parametern von einer JSP-Seite auf und gebe das Ergebnis an diese zurück?

Wie führe ich eine for-Schleife über alle Spalten eines Datenrahmens aus und gebe das Ergebnis als separaten Datenrahmen oder Matrix zurück

Wie sende ich Benutzereingaben über AJAX an die Django-REST-API und gebe das Ergebnis nach der Berechnung der Funktions-API zurück?

Wie gebe ich null in JavaScript zurück?