看帖神器
北美微论坛
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学城
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
问一个简单javascript 问题,求解析
查看北美微论坛今日新帖
最新回复:2022年6月14日 9点10分 PT
共 (6) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
匿
匿名
2 年多
楼主 (北美微论坛)
本帖最后由 匿名 (楼主) 于 2022-6-14 15:40 编辑
这是做好的题
function returnDay(num) {
const day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
if (num < 1 || num > 7) {
return null
} else {
return day[num - 1];
}
}
请问下面为什么[num - 1], 如果Monday从0开始算,'Tuesday'是1, 那么-1后, Monday变成 -1, Tuesday变成0, 顺序排列变了呀?
g
garychen529
2 年多
2 楼
本帖最后由 garychen529 于 2022-6-13 19:11 编辑
数组(array)的索引(index)从0开始 所以要取array里面的第X个元素(element)的时候要在X上面减1
比如说:
传进来的num数值是1, 那最后返回的会是day[1 - 1], 也就是day[0], 就是‘Monday’;
传进来的num数值是2, 那最后返回的会是day[2 - 1], 也就是day[1], 就是‘Tuesday’;
传进来的num数值是3, 那最后返回的会是day[3 - 1], 也就是day[2], 就是‘Wednesday’......
以此类推.
x
xxxxx__lol
2 年多
3 楼
因为根据使用习惯,后续call func会输入Day(1)对应的是Monday,但是实际上Monday index 是0。
除非你告诉user,从0输入,0对应Monday,输入的时候请注意。那你就不用num-1了
y
yousei
2 年多
4 楼
Monday在arry中的index是0,不是Monday的数字是0
在If中已经申明了若数字不在1-7的区间内,直接结束function
匿
匿名
2 年多
5 楼
数组(array)的索引(index)从0开始 所以要取array里面的第X个元素(element)的时候要在X上面减1
比如说:
传进 ...
明白。感谢
匿
匿名
2 年多
6 楼
不明觉厉
请输入帖子链接
收藏帖子
这是做好的题
function returnDay(num) {
const day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
if (num < 1 || num > 7) {
return null
} else {
return day[num - 1];
}
}
请问下面为什么[num - 1], 如果Monday从0开始算,'Tuesday'是1, 那么-1后, Monday变成 -1, Tuesday变成0, 顺序排列变了呀?
数组(array)的索引(index)从0开始 所以要取array里面的第X个元素(element)的时候要在X上面减1
比如说:
传进来的num数值是1, 那最后返回的会是day[1 - 1], 也就是day[0], 就是‘Monday’;
传进来的num数值是2, 那最后返回的会是day[2 - 1], 也就是day[1], 就是‘Tuesday’;
传进来的num数值是3, 那最后返回的会是day[3 - 1], 也就是day[2], 就是‘Wednesday’......
以此类推.
除非你告诉user,从0输入,0对应Monday,输入的时候请注意。那你就不用num-1了
在If中已经申明了若数字不在1-7的区间内,直接结束function
明白。感谢