Как я могу оптимизировать этот код для своего макроса листа Google?

avatar
Grimidk
9 августа 2021 в 03:47
53
1
-1

Я хотел бы сделать макрос, который помогает мне усреднять 7 значений из 7 разных ячеек (в настоящее время заполнители), но только когда они больше 0, это должно быть довольно просто, но я пока не эксперт в JS.

function macro1(){
    var total = 0;
    var ess = [];
    ess[0] = 0;
    ess[1] = 1;
    ess[2] = 0;
    ess[3] = 2;
    ess[4] = 0;
    ess[5] = 3;
    ess[6] = 0;

    if (ess[0] >= 1){
        (total++)
    }

    if (ess[1] >= 1){
        (total++)
    }

    if (ess[2] >= 1){
        (total++)
    }

    if (ess[3] >= 1){
        (total++)
    }

    if (ess[4] >= 1){
        (total++)
    }

    if (ess[5] >= 1){
        (total++)
    }

    if (ess[6] >= 1){
        (total++)
    }

    if (total <= 0){
        ( total++ )
    }

    var avg = ( ess[0] + ess[1] + ess[2] + ess[3] + ess[4] + ess[5] + ess[6] ) / ( total );
    
    console.log(avg);
}
Источник

Ответы (1)

avatar
Saurin Dashadia
9 августа 2021 в 05:37
0

Попробуйте это:

function macro1(){
    var total= 0, count = 0;
    var ess = [0, 1, 0, 2, 0, 3, 0];

    for( x in ess ){

        if(ess[x] > 0){
            total += ess[x];
            count++;
        }

    }

    var avg = total / count;

    console.log(avg);
}