Профил
Loading...
+ Нов въпрос
MariqnK1 avatar MariqnK1 52 Точки

problem = {towns : runtime error}

https://judge.softuni.bg/Contests/Compete/Index/1322#1

https://pastebin.com/pfCSxjYc

 

Разучавам обектите и не мога да разбера защо съдията ми дава runtime error на последния тест и само нулевия тест е верен. Предполагам, че тeя if проверки, които съм имплементирал са ненужни.

Тагове:
0
JavaScript Fundamentals 07/06/2020 14:28:08
krasizorbov avatar krasizorbov 548 Точки
Best Answer

Здрасти,

Ето ти едно примерно решение понеже гледам че ти се върви напред с материала, обаче е необходимо малко и да се помъчеш да си откриеш грешката гледайки кода по-долу сравнявайки го с твоя. Ако ли не може би МартинБГ ще ти помогне. Не използвай obj1 и obj2, защото не знаеш колко броя градове ще ти подадат на входа! Ползвай for loop например и си пълни обектите един по един и принтирай!

function towns(array = []) {
  class Town {
    constructor(name, latitude, longitude) {
      this.name = name;
      this.latitude = latitude;
      this.longitude = longitude;
    }
  }
  for (let i = 0; i < array.length; i++) {
    let arr = array[i].split(" | ");
    let name = arr[0];
    let latitude = +arr[1];
    let longitude = +arr[2];
    town = new Town(name, latitude, longitude);
    console.log(
      `{ town: '${town.name}', latitude: '${latitude.toFixed(
        2
      )}', longitude: '${longitude.toFixed(2)}' }`
    );
  }
}

1
07/06/2020 14:53:22
MariqnK1 avatar MariqnK1 52 Точки

Благодаря. Значи класовете и обектите вървят ръка за ръка.

1
krasizorbov avatar krasizorbov 548 Точки

В случая тази задача може да се реши и без class(constructor), но просто понеже в лекцията се споменават тези неща при по сложни задачи ще има нужда от такива. Преглеждай си документацията която е към лекцията например от курса javascript януари 2020 преди да се опитваш да решаваш такива задачи това ще ти е от помощ.

1