我刚接触JavaScript,正在编写一个创建汽车对象并将其存储在数组中的个人程序,我在返回所有数组元素时遇到了问题,因为只返回了第一个数组元素。
const carFactory = {
_cars:[
{
make: 'default',
model: 'default',
year: 0,
}
],
get cars(){
if(this._cars.length > 0 ){
for(let i = 0; i < this._cars.length; i++){
return `Car Make: ${this._cars[i].make} - Car Model: ${this._cars[i].model} Manufacture Year: ${this._cars[i].year}`;
}
}else{
return `Please add car details`;
}
},
addCar(carMake, carModel, carYear){
this._cars.push({
carMake,
carModel,
carYear
})
}
}
carFactory.addCar('Toyota', 'Corolla', 2003);
console.log(carFactory.cars);
3条答案
按热度按时间67up9zun1#
代码的问题在于for循环中的return语句只返回
_cars
数组中的第一个car对象并终止循环。要返回所有car,可以将car对象连接成一个字符串,并在循环后返回该字符串:gfttwv5a2#
在
for
中有一个return
,它将在第一次迭代时退出循环:4dc9hkyq3#
如果你想返回一个数组,那么就返回一个数组。2 addCar方法需要有正确名字。