Dopo aver clonato l'array JS utilizzando JSON.parse e JSON.stringify, perché il valore "non definito" dell'array viene convertito in "null"? [duplicare]

Aug 17 2020
var arr1 = [1, 2, 3, undefined, 4, 5];
var arr2 = JSON.parse(JSON.stringify(arr1));
console.log(arr2);

L'output del codice precedente sarà...

[1, 2, 3, null, 4, 5]

Perché converte il suo quarto valore da "non definito" a "nullo"?

Risposte

2 Iwrestledabearonce. Aug 17 2020 at 20:24

Perché undefinedè un tipo Javascript. Non c'è undefinedin JSON.

Secondo le specifiche :

JSON può rappresentare quattro tipi primitivi (stringhe, numeri, booleani e null) e due tipi strutturati (oggetti e matrici).