簡體   English   中英

將數據預處理為硬編碼數組

[英]pre-processing data into a hard-coded array

我有一個關於硬編碼數組的問題。 我看了幾個先前提出的有關硬編碼數組的問題,希望以此方式得到答案。 但是,在大多數情況下,我不明白答案,這是唯一看起來可能相關的答案:

glob()建立文件數組或硬編碼數組? 速度是關鍵,但是自動化很不錯

我的問題要簡單得多。 我在OpenOffice電子表格中有幾個工作表,我選擇將它們預處理為一個大型的硬編碼數組,然后將其存儲在“服務器”目錄中。 為了測試這一點,我將以下代碼行放入名為“ distances.js”的文件中,並將該文件直接放在我的應用目錄內的“ server”文件夾中:

  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']);

我得到的結果是:

未捕獲的ReferenceError:分數未定義(…)


然后,我嘗試將這些行插入Meteor.isServer內部的Meteor.startup函數內的常規project.js文件中:

  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'))。

但是,目前,我什至無法超越第一步。

預先感謝您可以為我提供的任何幫助。

答案似乎是使用fs模塊將數據從文本文件中讀取到集合中。 我仍在努力實現這一目標,但這里有更多信息: 在流星應用程序中使用nodejs fs模塊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM