gpt4 book ai didi

javascript - 在 JavaScript 中使用变量调用 getter/setter

转载 作者:行者123 更新时间:2023-12-01 02:17:27 26 4
gpt4 key购买 nike

所以我目前正在解决一些代码学院的问题,并正在考虑他们的“推荐”解决方案。代码如下:

  ...

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}...`
}

最佳答案

My basic question is how do you "pass" a getter instead of passing a string that you access through bracket notation?

你不知道。但你可以传递数组:

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);
// ...
}

关于javascript - 在 JavaScript 中使用变量调用 getter/setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49406559/

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