JS中用for循环遍历数组,返回值包含 undefined

rangwer 2016-04-14 05:30:10

var weights =[3,5,1,3,2,50 ];
for(var i=0;i<=weights.length;i++){
document.write(weights[i]);
}

为什么返回值中包含 undefined?

var weights =[3,5,1,3,2,50 ];
var all_weight=0;
var avg_weight=0;
//数组的遍历
for(var i=0;i<=weights.length;i++){
all_weight +=weights[i];
}
avg_weight=all_weight / weights.length;
document.write("总重量是:"+all_weight+"平均重量:"+avg_weight);

为什么结果都是 NaN?
...全文
1213 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DAVE-BLACK 2019-06-11
  • 打赏
  • 举报
回复 1
最后一个是越界的当然是不存在啊
rangwer 2019-06-10
  • 打赏
  • 举报
回复
不好意思,不懂为什么给不了分。只能无满意结帖了
rangwer 2019-06-10
  • 打赏
  • 举报
回复
哈哈哈哈,确实如此,谢谢大佬们,上学时候的自己好蠢。
哦呼 2019-04-20
  • 打赏
  • 举报
回复
他这个数组length是6个
下标是0开始 <= 的话 不就7个了吗
奇点博乐 2019-04-20
  • 打赏
  • 举报
回复
我的也是for循环,出现undefined,还是3楼的朋友一句话提醒了我,的确是不能有<=,就这么点细节。
啊菜菜 2016-04-15
  • 打赏
  • 举报
回复 1
你是从0开始遍历的,长度是length,遍历应当是0~(length - 1),不能有等于。
新锐码农小L 2016-04-14
  • 打赏
  • 举报
回复 1
你遍历了7次,最后一次是空值的
slwsss 2016-04-14
  • 打赏
  • 举报
回复
for(var i=0;i<weights.length;i++){

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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