У меня вопрос о жестко закодированных массивах. Я смотрел на несколько ранее заданных вопросов о жестко закодированных массивах в надежде получить мой ответ таким образом. Но, по большей части, я не понимаю, ответы, и это только один, который, кажется, что это может иметь отношение:Предварительная обработка данных в жестко закодированном массиве
glob() to build array of files, or hardcode array? Speed is key, but automation is nice
Мой вопрос намного проще, хотя. У меня есть несколько рабочих таблиц в электронной таблице OpenOffice, которые я решил предварительно обработать в большом жестко запрограммированном массиве, который я буду хранить в моем «сервере». Для того, чтобы проверить это, я ставлю следующие строки кода в файл с именем «distances.js» и поместил этот файл в папку «сервера» непосредственно в моем приложении каталоге:
var distances = {};
distances['Salt Lake City.Washington, DC'] = 2080;
distances['Salt Lake City.Cheyenne'] = 434;
distances['Salt Lake City.Denver'] = 536;
distances['Salt Lake City.Carson City'] = 534;
Тогда я побежал следующую команду в моей консоли, чтобы увидеть, если я был бы в состоянии получить доступ к этим массиву значений в моем приложении:
console.log(distances['Salt Lake City.Carson City']);
в результате я получил:
Uncaught ReferenceError: оценки не определены (...)
Я тогда покушений на вставить эти строки в обычном project.js файл внутри функции Meteor.startup внутри от Meteor.isServer:
if (Meteor.isServer) {
Meteor.startup(function() {
// code to run on server at startup
var distances = {};
distances['Salt Lake City.Washington, DC'] = 2080;
distances['Salt Lake City.Cheyenne'] = 434;
distances['Salt Lake City.Denver'] = 536;
distances['Salt Lake City.Carson City'] = 534;
});
}
Это привело к той же ошибке.
У меня установлен «небезопасный» пакет в моем проекте, поэтому безопасность не должна быть проблемой. Я думаю, что мне просто не хватает чего-то фундаментального в том, где должен идти код, чтобы его видел компилятор/интерпретатор. Может ли кто-нибудь помочь?
Я вроде как ожидаю, что кто-то предложит мне поместить всю эту информацию в коллекцию. В настоящее время я не понимаю, почему было бы выгодно это делать, но, возможно, мне не хватает чего-то фундаментального в отношении полезности этого. Если да, может кто-нибудь объяснить или указать мне место, где я могу прочитать об этом для себя? Я проработал пару метеорологических учебников, в последнее время - Второе приложение для метеоров. И это отличные уроки, из которых я многому научился. Но я чувствую, что в моих знаниях все еще есть дыры, которые нужно решать, что является ярким примером.
Мой план для доступа к этим жестко закодированные элементы массива с помощью вызова функции, которая выглядит примерно так:
getDistance('Salt Lake City','Cheyenne')
Потому что я не храним назад значения, например. расстояние от Шайенн до Солт-Лейк-Сити, я намерен настроить функцию так, чтобы, если конкретная ссылка не определена, она повернет два элемента вокруг и вызовет функцию снова таким же образом, но с этими инвертированными значениями (т. е. getDistance ('right', 'left') вместо getDistance ('left', 'right')).
Но в настоящее время я не могу даже пройти первый шаг.
Заранее благодарим за любую помощь, которую вы можете мне предоставить.
Я не вижу переменную с именем 'score' в коде, который вы указали, и ваша консоль бросает ошибку, потому что она не определена. Итак, я начну с отслеживания «оценок», чтобы посмотреть, что там происходит. – MarkPlewis
Извините, «оценки» - это то, что на самом деле говорит об ошибке, но я изменил код ради этого вопроса. То, что читается как «оценка» в исходном коде, на самом деле является «расстоянием» в этом коде. Таким образом, ошибка должна выглядеть следующим образом: Uncaught ReferenceError: * distance * не определен (...) Извиняюсь за недоразумение. И спасибо, что указали это. –
Теперь мне интересно, может ли это быть локальная переменная, которая не видна за пределами определенной части кода. –