我有两个数组
x(i) = 1
如何计算所有1+2+3+7+8
的y元素总和以获得结果if x(i) = 1 then sum = sum + y(i)
?
我已经使用了循环,如果那么方法来计算像这样的总和值
ajv.addSchema(require('./incorrect-email.json', 'incorrect-email.json'));
ajv.addSchema(require('./error.json'), 'error.json');
var valid = ajv.validate('incorrect-email.json', data);
有其他方法可以得到结果(总和,平均值,计数......)?
谢谢。
答案 0 :(得分:2)
由于您只想将y中的数字与x中的1s相加,而不是x中的0,您可以将x * y乘以看起来比If更清晰。以下是一些方法
anchorPoint
答案 1 :(得分:1)
For
非常清楚所以我不知道为什么你不会使用它,但你也可以使用LINQ:
Sub Main
Dim x = {1, 1, 1, 0, 2, 3, 1, 1}
Dim y = {1, 2, 3, 4, 5, 6, 7, 8}
Dim sum = y.Where(Function(v, i) x(i) = 1).Sum()
Console.WriteLine("Sum is {0}", sum)
End Sub
打印
总和是21