Strange test error

Dicci cosa sta succedendo

  **Il tuo codice fino ad ora**

function sym(arr) 
{
var arr = Array.from(arguments);
//console.log(arr)
let temp =[]
let SizeFirstArray = arr[arr.length-2].length
temp = arr[arr.length-2].concat(arr[arr.length-1])  //unisco i due vettori
arr[arr.length-2]=temp   //sostituisco penultimo
arr.pop()  //rimuovo ultimo
temp = [];
for (let i=0;i<SizeFirstArray; i++)   //scorro per eliminare doppi
{      //solo primi n confrontati con secondi n 
  for (let j=SizeFirstArray;j<arr[arr.length-1].length; j++)
  {
      if(arr[arr.length-1][i]===arr[arr.length-1][j])  //se sono uguali 
      {
        if (temp.indexOf(i)==-1)  temp.push(i);  //segno indici
        if (temp.indexOf(j)==-1)  temp.push(j);
      }    
  }
}  
temp.sort()
for (let i=temp.length-1; i>=0; i--)      //rimuovo doppi da arr finale
{
  arr[arr.length-1].splice(temp[i], 1);
}
arr[arr.length-1].sort()
temp = [...new Set(arr[arr.length-1])]  //rimuovo ultimi duplicati (se i duplicati erano nello stesso vettore)
arr[arr.length-1]=temp
if (arr.length>1)
sym(...arr)  //ricorsione. faccio differenza ultimi due e si riparte. i tre punti passano da vettore a lista argomenti
else
{
console.log(arr[0])
console.log(arr[0].length)
return arr[0]
}
}
sym([1, 2, 5], [2, 3, 5], [3, 4, 5])

  **Informazioni del tuo browser:**

Lo user agent è: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0

Sfida: Find the Symmetric Difference

Link alla sfida:

cosa succede se rimuovi i console.log da dentro la funzione e testi l’invocazione della funzione?

image

Compare:
/**

  • Il risultato del tuo test andrà qui
    */

Non hai usato console.log per vedere l’ output dell’ invocazione, prova quello

Ok, restituisce undefined anche a me.

Grazie per l’aiuto. Risolto. Mancava il return sulla chiamata ricorsiva.

ottimo lavoro! ce l’hai fatta!