因此,我目前正在研究代码学院的一些问题,并在思考其中的“推荐”解决方案。代码如下:
...
getRandomDishFromCourse(courseName) {
...
return this._courses['appetizers'];
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse('appetizers');
...
return `Your meal is ${appetizer.name}...`
}
因此,他们使用字符串作为参数调用
getRandomDishFromCourse
,然后在函数中通过括号表示法访问对象。我将如何使用getter和setter解决此问题?最佳做法是什么?我解决这个问题的想法在下面介绍,但不起作用...
get appetizers() {
return this._courses._appetizers;
},
...
getRandomDishFromCourse(courseName) {
let dish = courseName;
return dish;
...
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse(this.appetizers);
...
return `Your meal is ${appetizer.name}...`
}
最佳答案
我的基本问题是如何“传递”一个吸气剂,而不是传递通过括号表示法访问的字符串?
你不知道但是您可以传递数组:
getRandomDishFromCourse(course) {
let disk = course[Math.floor(course.length * Math.random())];
return dish;
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse(this.appetizers);
// ...
}
...或获取适当数组的函数:
getRandomDishFromCourse(getCourse) {
let course = getCourse();
let disk = course[Math.floor(course.length * Math.random())];
return dish;
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse(() => this.appetizers);
// ...
}