Uboreshaji wa Shughuli Zilizo na Mzunguko katika JavaScript
Hata shughuli nyepesi, ikirudiwa mara nyingi katika mzunguko, inaweza kutumia resources nyingi.
Wacha tuangalie kwa mfano. Tuchukulie tuna safu fulani:
let arr = [1, 2, 3, 4, 5, 6];
Wacha tupate wastani wa vipengele vya safu hii. Ili kufanya hivyo, inahitajika kupata jumla ya vipengele na kuigawanya kwa idadi. Tuchukulie programu fulani tayari amemaliza kazi hii kama ifuatavyo:
let avg = 0;
for (let elem of arr) {
avg += elem / arr.length;
}
console.log(avg);
Wacha tuzingatie matatizo ya ufumbuzi kama huo. Kitaalam msimbo unafanya kazi vyema na inatoa jibu sahihi. Jambo ni kwamba kihisabati ni sahihi kama kugawanya jumla yote kwa idadi, na pia kugawanya kila moja ya maneno kwa idadi.
Hata hivyo, tatizo lingine linatokea. Jambo ni kwamba tutatekeleza mgawanyiko mara kadiri ya vipengele katika safu yetu. Na inageuka kuwa tunafanya idadi kubwa ya shughuli za ziada, kwani mgawanyiko ungeweza kufanywa mwishoni - mara moja, kwa kugawanya jumla yote iliyopatikana.
Wacha tuiboreshe msimbo wetu:
let sum = 0;
for (let elem of arr) {
sum += elem;
}
let avg = sum / arr.length;
console.log(avg);
Boresha msimbo ufuatao:
for (let i = 1900; i <= 2100; i++) {
let curr = new Date;
let date = new Date(i, curr.getMonth(), curr.getDate());
if (curr.getDay() === date.getDay()) {
console.log(date);
}
}
Boresha msimbo ufuatao:
let obj = {a: 10, b: 20, c: 30, d: 40, e: 50};
let sum = 0;
for (let key in obj) {
if (String(obj[key])[0] === '1' || String(obj[key])[0] === '2') {
sum += obj[key];
}
}
console.log(sum);