09. Catalogue от Objects and Classes - Exercise
Здравейте, опитвам се да реша Catalogue с class constructor, но печата буквата на всеки ред, някой може ли да ми помогне, благодаря :)
задача: https://judge.softuni.org/Contests/Compete/Index/1322#8
код:
function solve(input){
let result = []
class Catalogue{
constructor(name, price){
this.name = name,
this.price = price
}
letterFirst(){
let letter = ""
this.name.charAt(0).toUpperCase() === letter ?
console.log(` ${this.name}: ${this.price}`)
: (letter = this.name.charAt(0).toUpperCase(),
console.log(letter),
console.log(` ${this.name}: ${this.price}`))
}
}
input.map(x => {
let[name, price] = x.split(" : ")
let myCatalogue = new Catalogue(name, price)
result.push(myCatalogue)
})
result.sort((a, b) => a.name.localeCompare(b.name))
.forEach(x => x.letterFirst())
}
Благодаря !
Забелязах, че се уверявате, че все още сте на същата буква във функцията letterFirst(). Зависи от числото в буквената променлива. Всеки нов екземпляр на клас и всяко ново извикване на метод водят до нов екземпляр на произведената променлива. Така че е необходимо да декларирате тази променлива извън класа и метода. geometry dash