Uso di forEach su array vuoto [duplicato]

-4

Ho una matrice dinamica che può essere spesso vuota, e ho bisogno di scorrere tutti i suoi elementi.

Finora ho un codice del genere:

array.forEach(function(item, index) {
    //stuff here
});

Naturalmente funziona bene, ma mi chiedo se ci sia un sovraccarico per il metodo forEach quando la matrice è vuota, in tal caso forse è meglio controllare prima, ad es.

if (array.length > 0) {
    array.forEach(function(item, index) {
        //stuff here
    });
}

Quale è la migliore pratica?

    
posta Shadow Wizard 03.01.2018 - 16:57
fonte

1 risposta

0

In pratica dipenderà dall'esecutore di JavaScript come lo gestisce.

Il controllo dovrebbe essere fatto efficacemente da forEach in quanto deve controllare la fine in qualche modo, comunque si sta duplicando il controllo per un array vuoto e aggiungendo il suo overhead (minimo) per quelli non vuoti. Quindi, probabilmente stai aggiungendo cicli extra della CPU.

In generale, esegui questo tipo di modifica soltanto se un profiler ha indicato che viene dedicato molto tempo all'operazione.

    
risposta data 03.01.2018 - 17:34
fonte

Leggi altre domande sui tag