OK, immagina di avere questo array sotto:
const arr = [1, 2, 3, 4];
Cominciamo a cercare in molti modi diversi per farlo poiché non sono riuscito a trovare una risposta completa qui:
1) Utilizzo di ridurre () incorporato
function total(arr) {
if(!Array.isArray(arr)) return;
return arr.reduce((a, v)=>a + v);
}
2) Utilizzo per ciclo
function total(arr) {
if(!Array.isArray(arr)) return;
let totalNumber = 0;
for (let i=0,l=arr.length; i<l; i++) {
totalNumber+=arr[i];
}
return totalNumber;
}
3) Utilizzo del ciclo while
function total(arr) {
if(!Array.isArray(arr)) return;
let totalNumber = 0, i=-1;
while (++i < arr.length) {
totalNumber+=arr[i];
}
return totalNumber;
}
4) Utilizzo dell'array per ogni
function total(arr) {
if(!Array.isArray(arr)) return;
let sum=0;
arr.forEach(each => {
sum+=each;
});
return sum;
};
e chiamalo così:
total(arr); //return 10
Non è consigliabile prototipare qualcosa del genere su Array ...