数组前几个选项如何相加?

比如有这样一个数组:

var arr=new Array(),
arr[0]="a",
arr[1]="b",
arr[2]="c",
arr[3]="d";
....
100多个

我想在一个判断条件下使用:

if(n>5){
    return arr[0];
}else if(n>5 && n<10){
    return arr[0]+ arr[1];
}else if(n>10 && n<15){
    return arr[0]+ arr[1]+arr[2];
}
....
100多个使用条件

请问,如何简写代码?

阅读 3.2k
2 个回答

题主的判断条件是不是有问题呢?应该如下面这样的吧

if(n<5){
    return arr[0];
}else if(n>5 && n<10){
    return arr[0]+ arr[1];
}else if(n>10 && n<15){
    return arr[0]+ arr[1]+arr[2];
}

如果是这样的话:

var round = Math.ceil(n / 5);
var sum = 0;
for (var i = 0; i < round; i++) {
    sum += arr[i];
}
return sum;

看题主的代码,似乎可以这样

Array.prototype.conditionAdd = function(){
    return this.slice(0, Math.floor(this.length/5)).join("")
}

arr.conditionAdd()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏