gpt4 book ai didi

javascript - 组合数组、循环和 if 语句

转载 作者:行者123 更新时间:2023-11-30 08:27:00 24 4
gpt4 key购买 nike

我正在尝试了解如何组合应用数组、循环和 if 语句。我创建了一个工作日数组,我想指定在特定的一天应该分配特定的练习。我还想打印出分配的日期和练习。正如您将从下面的代码中看到的,使用 weekday.push() 方法分配隔日游泳或重量训练,根本不添加 Yaga 并创建 14 个值。你能建议如何处理这个问题吗?谢谢!

var weekday = ['Sun', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat'];
var workOut = [];

function myExercise() {
for (var i = 0; i < weekday.length; i++) {
if (weekday == 'Wed' || 'Mon' || 'Fri') {
workOut.push('Swimming');
}
if (weekday == 'Tue' || 'Thur' || 'Sat') {
workOut.push('weight training');
} else {
workOut.push('Yoga' + 'or' + 'power walking');
}
}
}

myExercise();
console.log(workOut);

最佳答案

不幸的是,您不能像在 if 子句中尝试的那样使用快捷方式。您还忘记了迭代器 [i]。除了正常

if (weekday[i] == 'Wed' || weekday[i] == 'Mon' ||  weekday[i] == 'Fri')

你也可以使用下面的形式:

if ( ['Wed','Mon','Fri'].includes(weekday[i]))

如果你想支持 IE(不支持 includes),你可以使用 indexOf .

每当您想检查很多值时,这都很方便。总之,你可以这样写:

请注意,我还将您的第二个 if 更改为 else if(这是 14 个条目的原因)并使用了 Array.prototype.map功能。此外,操纵不属于您的范围的对象也是一个坏习惯(锻炼在全局范围内,但由 myExercise 函数操纵)。最好返回想要的结果,然后做一个简单的赋值。

var weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat'];
var workOut = [];

function myExercise() {

return weekday.map(function(day){
var workout;
if (['Mon','Wed','Fri'].includes(day)){
workout = "Swimming";
} else if (['Tue','Thur','Sat'].includes(day)){
workout = "Weight training";
} else {
workout = 'Yoga or power walking';
}
return workout;
});
}

workOut = myExercise();
console.log(workOut);

关于javascript - 组合数组、循环和 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44051044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com