假設我有一堂課:
class Intern{
constructor(name, mark) {
this.name = name
this.mark = mark
}
getMark() {return mark}
}
let a = new Intern('John', 10) // let's say I create 3 objects of this class
let b = new Intern('Marry', 9)
let c = new Intern('Anne', 8)
如何將一組實習生作為引數傳遞給另一個班級導師?我可以創建一個空陣列并這樣做:
arr = []
Mentor{
constructor(name, arr){
this.name
this.arr
}
getMentorHappiness() = this.arr.Intern.mark * 2
}
那是對的嗎?因此,根據我選擇的導師,它將向我展示只有這位導師教授的這些實習生的唯一獲得幸福的方法。像這樣的東西:
let d = new Mentor('Dean', [Anne, John]
let e = new Mentor('Sam', [Marry])
我想我必須以某種方式參考基于 Mentors 物件陣列輸入的資訊?
uj5u.com熱心網友回復:
這里有幾件事:
- 你忘了導師是一個班(班導師)
- 忘記從建構式賦值
- 忘記從 getMentorHappiness 函式回傳值
- 您需要將一個帶有實習生的陣列傳遞給 Mentor 建構式,而不是一個空的
- 然后您需要以某種方式解決實習生陣列以從中獲得標記
- 忘了參考這個。以實習生的名義回傳
下面是重構代碼的示例,它有效
class Intern{
constructor(name, mark) {
this.name = name;
this.mark = mark;
}
getMark() {return this.mark;}
}
class Mentor{
constructor(name, arr) {
this.name = name;
this.arr = arr;
}
getMentorHappiness() {
let sum = 0;
for (let intern of this.arr) {
sum = intern.getMark();
}
return sum / this.arr.length * 2
}
}
// driver code to test
let a = new Intern('John', 10);
let b = new Intern('Marry', 9);
let c = new Intern('Anne', 8);
let d = new Mentor('Dean', [a, b, c]);
console.log(d.getMentorHappiness());
console.log(a.getMark());
console.log(d.arr[0].getMark());
此功能將為特定導師計算實習生的平均值。請注意它乘以 2 與原始問題一樣
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/456294.html
標籤:javascript 班级
