如何在JavaScript中正确求和数组
我在获取数组的和时遇到了一个问题。我使用的是Adwords脚本,它的工作原理类似于javascript。我可以“打印”出我感兴趣的数字数组。比如如何在JavaScript中正确求和数组,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我在获取数组的和时遇到了一个问题。我使用的是Adwords脚本,它的工作原理类似于javascript。我可以“打印”出我感兴趣的数字数组。比如[23369.2,0.0,0.0,0.0,0.0,0.0,0.0]。但是,当我使用for循环将它们相加时,结果会生成NaN(不是数字)。我真的不知道该怎么办 var spend = []; function main() { var campaignsIterator = AdWordsApp.campaigns().get(); var su
[23369.2,0.0,0.0,0.0,0.0,0.0,0.0]
。但是,当我使用for循环将它们相加时,结果会生成NaN
(不是数字)。我真的不知道该怎么办
var spend = [];
function main() {
var campaignsIterator = AdWordsApp.campaigns().get();
var sum;
while(campaignsIterator.hasNext()) {
var campaigns = campaignsIterator.next();
var stats = campaigns.getStatsFor("THIS_MONTH");
var costPerAdG = stats.getCost();
spend.push(costPerAdG);
}
for(var i in spend){
sum += parseInt(spend[i]);
}
Logger.log(spend);
}
您需要使用
0
初始化sum
,否则该值是未定义的
如果添加一个数值,则得到NaN
——如果添加一个字符串,则结果为'undefined'+string
var sum = 0;
// ^^^
var a,
b=0;
a+=1;
b+=1;
console.log(a);//楠
控制台日志(b);//1
您还可以定义求和
并在一个干净的一行中实际求和数组:
var sum = spend.reduce((a, b) => a + b);
下面是一个获取数组和的简单函数
function sumarr(arr){
return arr.reduce(add, 0);
}
arr=[23369.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
sumarr(arr)
谢谢现在效果很好。