简体   繁体   English

Google电子表格脚本使用数组

[英]Google spreadsheet script use array

I made this function in google script 我在Google脚本中做了这个功能

function gemOMVG(values) {
  var sum = "";

  for (var i = 0; i < values.length; i++) { 
  sum = sum+values[i];
  }

 return sum;
}

I have a range of three horizontal cells with values 'o' 'v' 'g'. 我有三个水平单元格,其值分别为'o''v''g'。 My script returns o,v,g seperated by komma's. 我的脚本返回由komma分隔的o,v,g。 I would like to have these values in an array so i can perform if statements. 我想将这些值放在数组中,以便执行if语句。

can anyone help me out with this? 有人可以帮我吗?

I figured it out! 我想到了!

function gemOMVG(values) {
  var sum = 0;

  for (var i = 0; i < values[0].length; i++) { 
  //sum += "-"+values[0][i]; 
    if(values[0][i] == 'o'){sum+= 4.5;} 
    else if (values[0][i] == 'm'){sum+= 5;}
    else if (values[0][i] == 'v'){sum+= 6.2;}
    else if(values[0][i] == 'g'){sum+= 8.5;}
  }

  var gem = sum/values[0].length;

  var array = [4.5, 5, 6.2, 8.5];

 function closest(arr, closestTo){

    var closest = Math.max.apply(null, arr); //Get the highest number in arr in case it match nothing.

    for(var i = 0; i < arr.length; i++){ //Loop the array
        if(arr[i] >= closestTo && arr[i] < closest) closest = arr[i]; //Check if it's higher than your number, but lower than your closest value
    }

    return closest; // return the value
}

var roundgem = closest(array, gem);
  if(roundgem == 4.5){return "o";}
  else if(roundgem == 5){return "m";} 
  else if(roundgem == 6.2){return "v";} 
  else if(roundgem == 8.5){return "g";}
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM