На сайте требуется сделать форму, в которой при выборе города и других параметров должны рассчитываться некоторые показатели. Дело в том, что к городу привязаны несколько скрытых переменных, которые участвуют в итоговом расчете. Вопрос: как лучше хранить эти переменные? Вариант через switch работает на 5-10 городах, но в последующем будет необходимо добавлять эти города (их будет порядка 100-200).
Просто сейчас у меня на руках таблица в экселе из 100+ городов, у каждого из которых по 4 параметра. Есть ли способ не перезабивать ее в удобоваримый для JS формат?
Данные в JS хранятся так же как и в других языках: массивы, объекты (хеши). Собственно тут просится объект или JSON (что в общем не сильно от объекта отличается).
Петр: а я был против? ;) JavaScript Object Notation - имя говорит само за себя.
Только JS, почти, все хранит в виде объектов. JSON, по автомату(не из строки. Для этого есть JSON.parse), конвертируется в Object и да, у него появляется prototype(__proto__). Чего нет в JSON.
С точки зрения языка, разница не большая. С точки зрения разработчика - разница существенна. Особенно когда описываешь модели (как в backbone.js) и передаешь их на сервер(на php-скрипт, к примеру). Задача усложняется, если у модели есть методы.
var object = Object.create({});
object.hello = function () { console.log (this); };
Так что, я полностью согласен с тобой, Петр. И с GreatRash, но только для решения этой задачи.
GreatRash: Работа с JSON отличатся от работы с обьектом. Из обьекта может быть сформировано его JSON описание, по описанию создан обьект. Но json это данные, а не обьект. Как строка текста не является обьектом, а является данными.