Loading...
LilianaVelvheva avatar LilianaVelvheva 17 Точки

Защо Judge ми дава 0/100 на задача 7. Towns to JSON?

Това е моето решение: https://pastebin.com/cLbXz8XN

Ето и условието на задачата:

7.Towns to JSON

You're tasked to create and print a JSON from a text table. You will receive input as an array of strings, where each string represents a row of a table, with values on the row encompassed by pipes "|" and optionally spaces. The table will consist of exactly 3 columns "Town", "Latitude" and "Longitude". The Latitude and Longitude columns will always contain valid numbers. Check the examples to get a better understanding of your task.

Input

The input comes as an array of strings – the first string contains the table’s headings, each next string is a row from the table.

Output

  • The output should be an array of objects wrapped in JSON.stringify().
  • Latitude and Longitude must be parsed to numbers, and represented till the second digit after the decimal point!

Examples

Input

Output

['| Town | Latitude | Longitude |',

'| Sofia | 42.696552 | 23.32601 |',

'| Beijing | 39.913818 | 116.363625 |']

[{"Town":"Sofia",

  "Latitude":42.7,

  "Longitude":23.32

},
{"Town":"Beijing",

 "Latitude":39.91,

 "Longitude":116.36

}]

['| Town | Latitude | Longitude |',

'| Veliko Turnovo | 43.0757 | 25.6172 |',

'| Monatevideo | 34.50 | 56.11 |']

[{"Town":"Veliko Turnovo",

  "Latitude":43.08,

  "Longitude":25.62

},
{"Town":"Monatevideo",

 "Latitude":34.5,

 "Longitude":56.11

}]

Тагове:
0
Module: JS Advanced
Williams79 avatar Williams79 -1 Точки

Thanks for the update, I will try to figure it out for more. Keep sharing such informative post. 

 

FirstCallOnline

-2
24/09/2021 07:22:35
svephoto avatar svephoto 1191 Точки

Здравей, LilianaVelvheva,


 

Твоето решение има нужда от някои промени, поправки и добавки, като например, че трябва да започнем да добавяме от втория елемент на масива, който ни подават на входа, а на ред 14 преди променливата "town" липсва "let". Това https://pastebin.com/8b49NySi е твоето решение за 100/100, с добавка от мен за JSON.stringify(), понеже в условието имаме подсказка да използваме тази функция. Добавил съм и .trim() за премахване на излишните интервали около елементите след .split("|"), защото не ни върши работа да сплитнем по " | ", т. к. в началото и в края на всеки елемент има пайп само с по един интервал, веднъж отдясно и веднъж отляво. Освен това можеш да имаш предвид занапред, че е добра практика да използваш Number() за преобразуване на стринг в число, а не +. Всеки town-обект го добавям допълнително в друг обект, върху който след това да приложим функцията JSON.stringify(), резултата от която пък запазвам в още един обект. В тази функция си проверявам дали някоя стойност към някой ключ е число и ако е - връщам я като такова, понеже в изхода накрая числата трябва да са без кавички около тях, т. е. да не са принтирани като стрингове. После пушвам всеки готов обект в масив за крайния резултат и накрая логваме на конзолата него, със "," след всеки елемент и с отваряща и затваряща квадратна скоба съответно в началото и в края. Може да има и още по-кратък вариант конкретно на твоето решение, но това рефакториране измислих към момента. laugh

2
23/09/2021 21:05:06
LilianaVelvheva avatar LilianaVelvheva 17 Точки

Благодаря много за обясненията и за решението.

0
svephoto avatar svephoto 1191 Точки

Моля. yes

0
Dimitar_M avatar Dimitar_M 2 Точки
  1. https://pastebin.com/sTfHEWZw ето и едно изключително простичко решение от 15 реда код. На който му е интересно да види.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.