编写一个函数,确定接下来的n年中哪一年是闰年。如果呼叫者通过300,则该程序应返回2016年至2316年之间的闰年。
闰年是任何一年都可以平均除以4(例如2012年,2016年等),除非它可以均匀地除以100,那么它不是(例如2100,2200等)除非它可以被均匀地除以400,否则就是(例如2000,2400)。
我的第一次尝试是:
function leapYear(number) {
var year = 2016 + number;
var tracker = [];
for(i = 2016; i <= year; i++) {
if(i % 100 !== 0) {
tracker.push(i);
} else if(i % 400 === 0) {
tracker.push(i);
} else if(i % 4 === 0) {
tracker.push(i);
} else {
return tracker;
}
}
return tracker;
}
console.log(leapYear(300));
我意识到这是错误的,因为我没有正确地使用if else语句,当你在else上设置条件时,如果它意味着if语句条件不满足。这是我的第二次尝试。
function leapYear(number) {
var year = 2016 + number;
var tracker = [];
for(i = 2016; i <= year; i++) {
if(i % 4 === 0 || i % 400 === 0 && i % 100 !== 0) {
tracker.push(i);
} else {
return tracker;
}
}
}
console.log(leapYear(300));
我尝试了几种这样的组合,但没有任何效果。并且有人可以告诉我为什么这只打印出[2016]?
答案 0 :(得分:1)
尝试使用return
代替function leapYear(number){
var year = 2016 + number;
var tracker = [];
for(i=2016 ; i <= year ; i++ ){
if(i % 4 ===0 || i % 400 ===0 && i % 100 !== 0){
tracker.push(i);
}
else{
continue;
}
}
return tracker;
}
console.log(leapYear(300));
,更新后的代码如下:
gtk_css_provider_load_from_data()