所以我目前正在解决一些代码学院的问题,并且正在思考"推荐"他们的解决方案。代码如下:
...
getRandomDishFromCourse(courseName) {
...
return this._courses['appetizers'];
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse('appetizers');
...
return `Your meal is ${appetizer.name}...`
}
因此,他们使用字符串作为参数调用getRandomDishFromCourse
,然后在函数中通过括号表示法访问对象。我如何用吸气剂和固定器来解决这个问题呢?这是什么最好的做法?
我解决这个问题的想法如下所示,但不起作用......
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}...`
}
答案 0 :(得分:2)
我的基本问题是你如何“传递”一个getter而不是传递一个你通过括号表示法访问的字符串?
你没有。但是你可以传递数组:
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);
// ...
}