как вытащить из метода массив, чтобы использовать его в другом методе?
нужно вытащить результат работы первого метода, и отправить его во второй, этот массив с юзерами. Думаю, как-то нужно использовать this, и я пробовал, но ничего не получается...
class OwnerAuto {
constructor(name, lastName, phone, brandAuto, cool) {
this.name = name;
this.lastName = lastName;
this.phone = phone;
this.brandAuto = brandAuto;
this.cool = cool;
}
formatNewArr(){//ввод ограниченного кол-ва владельцев в массив
let arr = [];
let num = +prompt('количество человек:');
for (let i = 0; i < num; i++){
arr[i] = new OwnerAuto(
prompt('имя:'),
prompt('фамилия:'),
+prompt('телефон:'),
prompt('марка машины:'),
confirm('вы крутой?'))
}
return arr;
}
goodView(){
let count = 1;
for(let i of arr){
console.log(`
|Пациент №${count++}
|Имя: ${i.name}
|Фамилия: ${i.lastName}
|Телефон: ${i.phone}
|Марка машины: ${i.brandAuto}
|Крутость: ${i.cool}
------------------------------
`)
}
}
}
let newOwnerAuto = new OwnerAuto();
console.log(newOwnerAuto.formatNewArr());
console.log(newOwnerAuto.arr);
Ответы (2 шт):
Автор решения: SwaD
→ Ссылка
После вызова formatNewArr() будет вызвана goodView()
class OwnerAuto {
constructor(name, lastName, phone, brandAuto, cool) {
this.name = name;
this.lastName = lastName;
this.phone = phone;
this.brandAuto = brandAuto;
this.cool = cool;
this.arr = []
}
formatNewArr(){//ввод ограниченного кол-ва владельцев в массив
let num = +prompt('количество человек:');
for (let i = 0; i < num; i++){
this.arr[i] = new OwnerAuto(
prompt('имя:'),
prompt('фамилия:'),
+prompt('телефон:'),
prompt('марка машины:'),
confirm('вы крутой?'))
}
this.goodView()
return this.arr;
}
goodView(){
let count = 1;
for(let i of this.arr){
console.log(`
|Пациент №${count++}
|Имя: ${i.name}
|Фамилия: ${i.lastName}
|Телефон: ${i.phone}
|Марка машины: ${i.brandAuto}
|Крутость: ${i.cool}
------------------------------
`)
}
}
}
let newOwnerAuto = new OwnerAuto();
console.log(newOwnerAuto.formatNewArr());
console.log(newOwnerAuto.arr);
Автор решения: Алексей Шиманский
→ Ссылка
Не смотря на всё некорректность кода, тем не менее дам ответ как можно сделать....но в итоге это всё неправильно по разным причинам (я не про своё решение, а про код самого автора). Количество свойств намеренно уменьшил, чтобы не раздувать код
class OwnerAuto {
constructor(name = 'defaultName', lastName = 'defaulLastName') {
this.users = [];
this.name = name;
this.lastName = lastName;
}
formatNewArr(){//ввод ограниченного кол-ва владельцев в массив
let num = +prompt('количество человек:');
for (let i = 0; i < num; i++){
this.users.push(new OwnerAuto(
prompt('имя:'),
prompt('фамилия:')
)
);
}
}
goodView(){
let count = 1;
for(let i of this.users){
console.log(`
|Пациент №${count++}
|Имя: ${i.name}
|Фамилия: ${i.lastName}
------------------------------
`)
}
}
}
let newOwnerAuto = new OwnerAuto();
newOwnerAuto.formatNewArr();
newOwnerAuto.goodView();