这个问题一直困扰着我一段时间,我似乎无法在网上找到答案.
是否可以从某个索引开始使用Array reduce方法?
简单的例子
var studentGrades = ["John Doe", "Some School", 6, 7, 8, 7, 9, 9];
Run Code Online (Sandbox Code Playgroud)
如果我只需要在studentGrades中遍历整数,我可以通过简单的for循环来完成
for(var i = 2; i < studentGrades.length; i++) {
// do stuff here ...
}
Run Code Online (Sandbox Code Playgroud)
但是,假设我需要得到一个平均等级,它是所有整数除以整数计数的总和.如果Array只包含整数,那么使用reduce就没有问题.
var onlyIntegersArr = [5,2,3,4];
var averageGrade = onlyIntegersArr.reduce(function(a,b){
return a + b;
}) / onlyIntegersArr.length;
Run Code Online (Sandbox Code Playgroud)
但是,如果我知道无论出于何种原因我需要跳过前两个数组元素并从索引数组[2]开始.
因此,例如我将reduce应用于studentGrades,但仅从index studentGrades开始[2].
减少可能吗?
谢谢你的解决方案,我喜欢切片方法,但我不喜欢在这种情况下使用新方法.
例如
var average = studentGrades.reduce(function(a,b,i){
return i >= 2 ? a+b : 0; …Run Code Online (Sandbox Code Playgroud)