Ho trovato molte domande correlate con risposte che parlano di ... in loop e utilizzando hasOwnProperty ma niente di ciò che faccio funziona correttamente. Tutto quello che voglio fare è controllare se esiste o meno una chiave in una matrice e in caso contrario, aggiungerla.come impedire l'aggiunta di chiavi duplicate a un array javascript
Inizio con un array vuoto, quindi aggiungo chiavi mentre la pagina viene cancellata con jQuery.
Inizialmente, ho sperato che qualcosa di semplice come il seguente dovrebbe funzionare: (utilizzando nomi generici)
if (!array[key])
array[key] = value;
No Go. Seguito in su con:
for (var in array) {
if (!array.hasOwnProperty(var))
array[key] = value;
}
cercato anche:
if (array.hasOwnProperty(key) == false)
array[key] = value;
Niente di tutto questo ha funzionato. O nulla viene spinto all'array o quello che provo non è migliore del semplice dichiarare array[key] = value
Perché è così semplice fare qualcosa di così semplice. Qualche idea per far funzionare questo?
si sta provando su 'Matrice' o' Oggetto'? – thecodeparadox
ES6 ora ha [Set] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) nativo – Efren