JavaScript 每周的函数练习日
JavaScript Function Exercise Day Of The Week
我需要创建一个接受从 1
到 7
的整数的函数。
如果数字小于1
或大于7
,函数应该returnnull
。那么每个数字应该代表星期几。
所以如果我尝试像函数 return Day(1)
这样的东西,它应该给我一个输出 'Sunday'
,
> Day(2)
⋖ 'Monday'
> Day(3)
⋖ 'Tuesday'
等等...
这是我的方法,但它没有用,我认为我的语法有点粗略,所以我想得到正确的方法:)
const weekDAY = new Array(7);
weekDAY[1] = 'Sunday' ;
weekDAY[2] = 'Monday';
weekDAY[3] = 'Tuesday';
weekDAY[4] = 'Wednesday';
weekDAY[5] = 'Thursday';
weekDAY[6] = 'Friday';
weekDAY[7] = 'Saturday';
function returnDay(x) {
return (x < 1) || (x > 7) ? null :
} else {
let thisDay = weekDAY[x]
return thisDay;
}
}
右大括号关闭了您使用 ?运算符。
const weekDAY = new Array(7);
weekDAY[1] = 'Sunday' ;
weekDAY[2] = 'Monday';
weekDAY[3] = 'Tuesday';
weekDAY[4] = 'Wednesday';
weekDAY[5] = 'Thursday';
weekDAY[6] = 'Friday';
weekDAY[7] = 'Saturday';
function returnDay(x) {
if(x < 1 || x > 7) {
return null;
}
else {
return weekDAY[x];
}
作为 ,您的函数应如下所示:
function returnDay(x){
return x < 1 || x > 7 ? null : weekDAY[x]
}
或者像这样:
function returnDay(x){
if(x < 1 || x > 7) {
return null;
}
else {
return weekDAY[x];
}
}
首先,数组是 zero-based,这意味着第一个索引从 0 开始,因此您的代码应该如下所示
weekDAY[0] = 'Sunday' ;
weekDAY[1] = 'Monday';
weekDAY[2]= 'Tuesday';
weekDAY[3] = 'Wednesday';
weekDAY[4] = 'Thursday';
weekDAY[5] = 'Friday';
weekDAY[6] = 'Saturday';
或者,您可以通过这样做来减少行数,
weekDay = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
您要查找的函数可能如下所示
function returnDay(day) {
if (day > weekDay.length+1 || day < 1) {
return null
} else {
return weekDay[day-1]
}
}
使用 switch
语句
const dayOfTheWeek = day => {
if (day < 1 || day > 7) return null
switch (day) {
case 1:
return 'Sunday'
break
case 2:
return 'Monday'
break
case 3:
return 'Tuesday'
break
case 4:
return 'Wednesday'
break
case 5:
return 'Thursday'
break
case 6:
return 'Friday'
break
case 7:
return 'Saturday'
}
}
console.log(dayOfTheWeek(7))
使用 ternary
运算符
如果您必须在示例中使用您提供的数组,那么您可以这样做:
const weekDAY= new Array(7)
weekDAY[1] = 'Sunday'
weekDAY[2] = 'Monday'
weekDAY[3] = 'Tuesday'
weekDAY[4] = 'Wednesday'
weekDAY[5] = 'Thursday'
weekDAY[6] = 'Friday'
weekDAY[7] = 'Saturday'
const dayOfTheWeek = day => {
return day < 0 || day > 7 ? null : weekDAY[day]
}
console.log(dayOfTheWeek(3))
条件(三元)运算符
在您的示例中,您似乎误解了“条件(三元)运算符”。例如,让我们将解决方案中使用的语句转换为常规 if/else
语句。
三元运算符:
return day < 0 || day > 7 ? null : weekDAY[day]
常规if/else
语句:
if (day < 0 || day > 7) {
return null
} else {
return weekDAY[day]
}
语法:
condition ? ifTrue : ifFalse
数组索引在 0
您的数组从 1
开始。这实际上并不意味着您的数组索引为 1
。它仍将在 0
处编入索引。如果我们记录 weekDAY
数组,我们将看到:
[
undefined,
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
如您所见,我们将 0
索引设置为 undefined
。在我们的 dayOfTheWeek
函数中,这现在对我们来说不是问题(因为我们不允许 1
以下的整数),但是如果我们决定遍历这个数组,我们将遍历 undefined
。稍后这可能会在我们的代码中产生错误。
为避免此问题,您应该尝试以这种方式声明数组:
weekDAY = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
您正在尝试将 'else' 与三元运算符一起使用。可以使用三元运算符来代替 if-else 块,但是您不能像您一样将三元运算符与 else 块一起使用已在您的解决方案中使用。
此外,数组是基于 0 的。因此,理想情况下,您应该从 0 开始分配。就像我在下面的代码片段中所做的那样。
if-else 块的工作原理:
if(condition){
// If 'condition' is true this code executes
} else {
// If 'condition' is not true, this code executes
}
三元运算符的工作原理:
(condition) ? {code when condition is true} : {code when condition is false};
所以你的情况是:
return (x<1) || (x>7) ? null : weekDay[x];
你的整个解决方案是:
const weekDAY= new Array(7);
weekDAY[0] = 'Sunday' ;
weekDAY[1] = 'Monday';
weekDAY[2] = 'Tuesday';
weekDAY[3] = 'Wednesday';
weekDAY[4] = 'Thursday';
weekDAY[5] = 'Friday';
weekDAY[6] = 'Saturday';
function returnDay(x){
return (x < 1) || (x > 7) ? null : weekDAY[x];
}
//Calling the function for result and printing it to the console
//using console.log()
console.log(returnDay(2));
// create object to store days of the week
const days = {
1: "Monday",
2: "Tuesday",
3: "Wednesday",
4: "Thursday",
5: "Friday",
6: "Saturday",
7: "Sunday",
};
// create function
function returnDay(num) {
return num < 1 || num > 7 ? null : days[num];
}
// call function
console.log(returnDay(3)); // Wednesday
console.log(returnDay(8)); // null
console.log(returnDay(0)); // null
使用条件:
const weekDAY = new Array();
weekDAY[1] = 'Monday' ;
weekDAY[2] = 'Tuesday';
weekDAY[3] = 'Wednesday';
weekDAY[4] = 'Thursday';
weekDAY[5] = 'Friday';
weekDAY[6] = 'Saturday';
weekDAY[7] = 'Sunday';
function returnDay(x){
if(x < 1 || x > 7) {
return null;
}
else {
return weekDAY[x];
}
}
console.log(returnDay(1));
console.log(returnDay(7));
console.log(returnDay(4));
console.log(returnDay(0));
我正在 Udemy 学习并完成了这样的练习:
function returnDay (num) {
let daysOfWeek = ['not a day','Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
return num < 1 || num > 7 ? null : daysOfWeek[num];
}
const days = {
1:"Monday",
2:"Tuesday",
3:"Wednesday",
4:"Thursday",
5:"Friday",
6:"Saturday",
7:"Sunday"
}
const dayNum = Object.values(days);
function returnDay(a) {
if(a < 1 || a > 7) {
return null;
} else {
return dayNum[a - 1];
}
}
我需要创建一个接受从 1
到 7
的整数的函数。
如果数字小于1
或大于7
,函数应该returnnull
。那么每个数字应该代表星期几。
所以如果我尝试像函数 return Day(1)
这样的东西,它应该给我一个输出 'Sunday'
,
> Day(2)
⋖ 'Monday'
> Day(3)
⋖ 'Tuesday'
等等...
这是我的方法,但它没有用,我认为我的语法有点粗略,所以我想得到正确的方法:)
const weekDAY = new Array(7);
weekDAY[1] = 'Sunday' ;
weekDAY[2] = 'Monday';
weekDAY[3] = 'Tuesday';
weekDAY[4] = 'Wednesday';
weekDAY[5] = 'Thursday';
weekDAY[6] = 'Friday';
weekDAY[7] = 'Saturday';
function returnDay(x) {
return (x < 1) || (x > 7) ? null :
} else {
let thisDay = weekDAY[x]
return thisDay;
}
}
右大括号关闭了您使用 ?运算符。
const weekDAY = new Array(7);
weekDAY[1] = 'Sunday' ;
weekDAY[2] = 'Monday';
weekDAY[3] = 'Tuesday';
weekDAY[4] = 'Wednesday';
weekDAY[5] = 'Thursday';
weekDAY[6] = 'Friday';
weekDAY[7] = 'Saturday';
function returnDay(x) {
if(x < 1 || x > 7) {
return null;
}
else {
return weekDAY[x];
}
作为
function returnDay(x){
return x < 1 || x > 7 ? null : weekDAY[x]
}
或者像这样:
function returnDay(x){
if(x < 1 || x > 7) {
return null;
}
else {
return weekDAY[x];
}
}
首先,数组是 zero-based,这意味着第一个索引从 0 开始,因此您的代码应该如下所示
weekDAY[0] = 'Sunday' ;
weekDAY[1] = 'Monday';
weekDAY[2]= 'Tuesday';
weekDAY[3] = 'Wednesday';
weekDAY[4] = 'Thursday';
weekDAY[5] = 'Friday';
weekDAY[6] = 'Saturday';
或者,您可以通过这样做来减少行数,
weekDay = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
您要查找的函数可能如下所示
function returnDay(day) {
if (day > weekDay.length+1 || day < 1) {
return null
} else {
return weekDay[day-1]
}
}
使用 switch
语句
const dayOfTheWeek = day => {
if (day < 1 || day > 7) return null
switch (day) {
case 1:
return 'Sunday'
break
case 2:
return 'Monday'
break
case 3:
return 'Tuesday'
break
case 4:
return 'Wednesday'
break
case 5:
return 'Thursday'
break
case 6:
return 'Friday'
break
case 7:
return 'Saturday'
}
}
console.log(dayOfTheWeek(7))
使用 ternary
运算符
如果您必须在示例中使用您提供的数组,那么您可以这样做:
const weekDAY= new Array(7)
weekDAY[1] = 'Sunday'
weekDAY[2] = 'Monday'
weekDAY[3] = 'Tuesday'
weekDAY[4] = 'Wednesday'
weekDAY[5] = 'Thursday'
weekDAY[6] = 'Friday'
weekDAY[7] = 'Saturday'
const dayOfTheWeek = day => {
return day < 0 || day > 7 ? null : weekDAY[day]
}
console.log(dayOfTheWeek(3))
条件(三元)运算符
在您的示例中,您似乎误解了“条件(三元)运算符”。例如,让我们将解决方案中使用的语句转换为常规 if/else
语句。
三元运算符:
return day < 0 || day > 7 ? null : weekDAY[day]
常规if/else
语句:
if (day < 0 || day > 7) {
return null
} else {
return weekDAY[day]
}
语法:
condition ? ifTrue : ifFalse
数组索引在 0
您的数组从 1
开始。这实际上并不意味着您的数组索引为 1
。它仍将在 0
处编入索引。如果我们记录 weekDAY
数组,我们将看到:
[
undefined,
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
如您所见,我们将 0
索引设置为 undefined
。在我们的 dayOfTheWeek
函数中,这现在对我们来说不是问题(因为我们不允许 1
以下的整数),但是如果我们决定遍历这个数组,我们将遍历 undefined
。稍后这可能会在我们的代码中产生错误。
为避免此问题,您应该尝试以这种方式声明数组:
weekDAY = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
您正在尝试将 'else' 与三元运算符一起使用。可以使用三元运算符来代替 if-else 块,但是您不能像您一样将三元运算符与 else 块一起使用已在您的解决方案中使用。
此外,数组是基于 0 的。因此,理想情况下,您应该从 0 开始分配。就像我在下面的代码片段中所做的那样。
if-else 块的工作原理:
if(condition){
// If 'condition' is true this code executes
} else {
// If 'condition' is not true, this code executes
}
三元运算符的工作原理:
(condition) ? {code when condition is true} : {code when condition is false};
所以你的情况是:
return (x<1) || (x>7) ? null : weekDay[x];
你的整个解决方案是:
const weekDAY= new Array(7);
weekDAY[0] = 'Sunday' ;
weekDAY[1] = 'Monday';
weekDAY[2] = 'Tuesday';
weekDAY[3] = 'Wednesday';
weekDAY[4] = 'Thursday';
weekDAY[5] = 'Friday';
weekDAY[6] = 'Saturday';
function returnDay(x){
return (x < 1) || (x > 7) ? null : weekDAY[x];
}
//Calling the function for result and printing it to the console
//using console.log()
console.log(returnDay(2));
// create object to store days of the week
const days = {
1: "Monday",
2: "Tuesday",
3: "Wednesday",
4: "Thursday",
5: "Friday",
6: "Saturday",
7: "Sunday",
};
// create function
function returnDay(num) {
return num < 1 || num > 7 ? null : days[num];
}
// call function
console.log(returnDay(3)); // Wednesday
console.log(returnDay(8)); // null
console.log(returnDay(0)); // null
使用条件:
const weekDAY = new Array();
weekDAY[1] = 'Monday' ;
weekDAY[2] = 'Tuesday';
weekDAY[3] = 'Wednesday';
weekDAY[4] = 'Thursday';
weekDAY[5] = 'Friday';
weekDAY[6] = 'Saturday';
weekDAY[7] = 'Sunday';
function returnDay(x){
if(x < 1 || x > 7) {
return null;
}
else {
return weekDAY[x];
}
}
console.log(returnDay(1));
console.log(returnDay(7));
console.log(returnDay(4));
console.log(returnDay(0));
我正在 Udemy 学习并完成了这样的练习:
function returnDay (num) {
let daysOfWeek = ['not a day','Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
return num < 1 || num > 7 ? null : daysOfWeek[num];
}
const days = {
1:"Monday",
2:"Tuesday",
3:"Wednesday",
4:"Thursday",
5:"Friday",
6:"Saturday",
7:"Sunday"
}
const dayNum = Object.values(days);
function returnDay(a) {
if(a < 1 || a > 7) {
return null;
} else {
return dayNum[a - 1];
}
}