Confronto tra due array

di il
5 risposte

Confronto tra due array

Ciao a tutti

sto programmando sull'Editor script di Google sheet

ho necessità di fare questo controllo
colonna 1 con dentro dei valori = " 1, 2, 3, 4"
colonna 2 valori = "1,2,5,6"

risultato i valori uguali, quindi = "1, 2 "

l'ho scritto così



for ( var i=0 ; i < colonna1.length ; i++){
var temp = colonna1;

for ( var j=0; j < colonna2.length ; j++){
var temp2 = colonna2[j]

if ( temp == temp2 ){
scrittura.getRange( riga , colonna ).setValue(colonna2);
riga++;
}
}
}

se metto Logger.log(temp + "-" + temp2);
mi mostra questo :

[21-01-04 15:43:11:950 CET] 1-1
[21-01-04 15:43:11:952 CET] 1-2
[21-01-04 15:43:11:953 CET] 1-5
[21-01-04 15:43:11:955 CET] 1-6
[21-01-04 15:43:11:956 CET] 2-1
[21-01-04 15:43:11:958 CET] 2-2
[21-01-04 15:43:11:962 CET] 3-1
[21-01-04 15:43:11:963 CET] 3-2
[21-01-04 15:43:11:965 CET] 3-5
[21-01-04 15:43:11:967 CET] 3-6
[21-01-04 15:43:11:969 CET] 4-1
[21-01-04 15:43:11:971 CET] 4-2

se lo metto dopo l' IF non vede nulla...

cosa sto sbagliando ?

grazie!!

5 Risposte

  • Re: Confronto tra due array

    Dovresti mettere l'indice in colonna1 nel primo for:
    var temp = colonna1;
  • Re: Confronto tra due array

    Si scusa l'indice c'è , non lo ha copiato quando ho trascritto il codice...
    ho usato i temp come appoggio ma anche con il confronto tra i due e quindi
    if (colonna1 == colonna2[j]) comunque l 'if è come se non lo riconoscesse

    for ( var i=0 ; i < colonna1.length ; i++){
    var temp = colonna1; <---edit : l'indice c'è ma non so perchè non lo fa vedere

    for ( var j=0; j < colonna2.length ; j++){
    var temp2 = colonna2[j]
    Logger.log(temp + "-" + temp2);

    if ( temp == temp2 ){

    scrittura.getRange( riga , colonna ).setValue(colonna2[j]);
    riga++;
    }
  • Re: Confronto tra due array

    Usa i tag CODE per il codice o avrai problemi a visualizzarlo sul forum
  • Re: Confronto tra due array

    L'ho riscritto in Java e funziona. I tuoi cicli sono corretti ho solo cambiato alcune sintassi per java
    public class HelloWorld{
    
         public static void main(String []args){
             int [] colonna1 = {1,2,3,4};
             int [] colonna2 = {1,2,5,6};
            for ( int i=0 ; i < colonna1.length ; i++){
    int temp = colonna1[i];
    
    for ( int j=0; j < colonna2.length ; j++){
    int temp2 = colonna2[j];
    
    if ( temp == temp2 ){
    System.out.println("uguale "+temp);
    }
    }
    }
             
         }
    }
    Output:
    uguale 1
    uguale 2


    E' questo quello che volevi ottenere oppure non ho capito io?
  • Re: Confronto tra due array

    Sisi!! Esatto!!
    La logica è praticamente uguale!
    Non capisco come mai non mi funziona, ora controllo
    Nel linguaggio se ho sbagliato qualcosa a questo punto

    Grazie mille!!
Devi accedere o registrarti per scrivere nel forum
5 risposte