Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function arrayPlusArray(arr1, arr2){
- let sum1 = 0; // можна в одну все рахувати, і в першому циклі і в другому.
- let sum2 = 0;
- for (let i = 0; i < arr1.length; i++){
- sum1 += arr1[i];
- }
- for (let i = 0; i < arr2.length; i++){
- sum2 += arr2[i];
- }
- return sum1 + sum2; // якщо в одну все сумувати, то просто повернути її тут.
- }
- // якщо б знати, що масиви однакової довжини, то точна можна було б їх в одному циклі просумувати, а так, можливо краще у
- // двох, як ви й зробили. Бо ж різна длина массивів потребує перевірок, і скоріш ваш код буде більш оптимальним, але це не точно, бо у одному циклі ми пройдемо кількість ітерацій рівну довжині найдовшого массиву.
- let length1 = arr1.length;
- let length2 = arr2.length;
- let maxLength = Math.max(length1, length2);
- for (let i = 0; i < maxLength; i++){
- if (i < length1) {
- sum += arr1[i]
- }
- if (i < length2) {
- sum += arr2[i]
- }
- }
- // щоб оптимізувати, краще вирази, що мають бути обчислені виносити з циклів, тобто якщо вираз не буде змінювати значення протягом циклу, то навіщо кожну ітерацію його рахувати - кразе у змінну покласти, та брати звідти без розрахунків.
- // А що ви думаєте? Чи варто тут намагатися зробити один цикл замість двох?)
- // нормальне рішення, доречи ви ж дивилися у кодварс? То навіщо вам ще ревью?!) Там такі зубри крутими рішеннями діляться, що тільки "повертайся-розумій"!!)
- // Гарного коду!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement