一个循环问题 谢谢

qq_34959003 2017-07-11 10:04:13
// 一个数组从一个for添加数据
// for跑了17次(1-17) 那么 1-2为一条 3-4为一条 最后全部跑完 数组应该有9条数

JS数组应该是这样添加的:
arr.push({
start: 0,
end: 1
});
arr.push({
start: 2,
end: 3
});
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 qq_34959003 的回复:
[quote=引用 1 楼 showbo 的回复:]
arr=[]
for(var i=0;i<17;i+=2){
  arr.push({start:i,end:i+1})
}
console.log(arr)
循环必须从1 2 3 4 5 6 到17跑 请问怎么做? 谢谢[/quote]这么奇葩。。

    var arr = [],index;
    for (var i = 1; i <= 17; i++) {
        index = i - 1;
        if (index == 16) { arr.push({ start: index , end: index+1 }); }
        else {
            if (index % 2 == 0) arr.push({ start: index })
            else arr[Math.floor(index / 2)].end = index;
        }
    }
    console.log(arr)
qq_34959003 2017-07-11
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
arr=[]
for(var i=0;i<17;i+=2){
  arr.push({start:i,end:i+1})
}
console.log(arr)
循环必须从1 2 3 4 5 6 到17跑 请问怎么做? 谢谢
  • 打赏
  • 举报
回复
arr=[]
for(var i=0;i<17;i+=2){
  arr.push({start:i,end:i+1})
}
console.log(arr)
天际的海浪 2017-07-11
  • 打赏
  • 举报
回复

arr=[];
for(var i=1;i<=17;i++){
	if (i%2==1) {
		arr.push({start:i-1});
	} else {
		arr[arr.length-1].end=i-1;
	}
}
alert(JSON.stringify(arr,null,4));

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧