刚接触JavaScript和编码,并且正在开发一个停车车库程序,该程序可以停放汽车并检查哪些汽车已停放。
我从一个函数parkCar ()开始,该函数接收一个汽车名称并将其推入一个数组中,条件是有足够的空间,将停放的汽车的最大值设置为7。我被困在如何编写函数的代码上,这样我就可以指定我停在车库里的汽车的名称。
现在,程序成功地将carName添加到parkedCars,直到数组的最大字符串长度,但是当我使用控制台检查数组中的项时,我得到"carName“,"carName”等而不是"volvo“,"prius”等。我如何创建一个变量,允许将汽车名称唯一地输入到数组中?
粘贴在下面的代码:
console.log('Enter CarName to park in Anne Lot');
var carName;
const maxCars=7
var parkedCars=[];
var carName
parkCar=function (){
if(parkedCars.length<=maxCars){
parkedCars.push('');
console.log(parkedCars);
console.log("Welcome to Anne's Lot.");
}
else {
console.log("Sorry, Anne's Lot is at max capacity.");
}
}发布于 2020-02-20 23:41:54
parkCar=function (cName){ // accept car name value
if(parkedCars.length<=maxCars){
parkedCars.push(cName); // push name of car here.
console.log(parkedCars);
console.log("Welcome to Anne's Lot.");
}
else {
console.log("Sorry, Anne's Lot is at max capacity.");
}
}发布于 2020-02-20 23:43:45
console.log('Enter CarName to park in Anne Lot');
var carName;
const maxCars=7;
var parkedCars=[];
parkCar=function (carName){
if(parkedCars.length<=maxCars){
parkedCars.push(carName);
console.log(parkedCars);
console.log("Welcome to Anne's Lot.");
}
else {
console.log("Sorry, Anne's Lot is at max capacity.");
}
} 然后在控制台中键入
parkCar('Car1');以此类推,最多7辆车。
发布于 2020-02-20 23:44:04
如果您询问get如何输入命名元素,那么在开发环境中使用prompt(message)是非常标准。其他注意事项:
通常,在可能的情况下避免使用var是一个好主意,这样您就不会遇到意外的行为。let在这里运行得很好。
将if(parkedCars.length <= maxCars)更改为if(parkedCars.length < maxCars),这样如果parkingCars有7个条目,该函数将不允许用户推最后一辆车,即第8辆车。如果这是预期的,并且您希望用户能够在停车场中存储8辆汽车,请将maxCars更改为8,因为这更直观。
将汽车名称定义为函数的参数。在这里,我将其重命名为parkingCar,这样就不会混淆参数和外部carName变量。我还添加了if(parkingCar)来处理用户不输入任何内容的情况。
这更符合风格,但最好在操作符和操作数周围留出空格,以使代码更具可读性。
如果要将函数创建为命名函数表达式,最佳做法是在最后的花括号后面加上分号,以避免意外行为。
考虑所有这些因素,下面是我将如何实现该函数:
let carName = prompt('Enter CarName to park in Anne Lot');
const maxCars = 7
let parkedCars = [];
let parkCar = function(parkingCar) {
if(parkingCar && parkedCars.length < maxCars){
parkedCars.push(parkingCar);
console.log(parkedCars);
console.log("Welcome to Anne's Lot.");
}
else if(parkingCar) {
console.log("Sorry, Anne's Lot is at max capacity.");
} else {
console.log("Sorry, nothing to park");
}
};
parkCar(carName);https://stackoverflow.com/questions/60323487
复制相似问题