簡體   English   中英

如何從以咖啡腳本中的值列表作為對象的地圖訪問第一個鍵

[英]how to access first key from a map having list of values as object in coffee script

我正在使用rest調用訪問此yaml文件(轉換為json)。

A:
  B:
    C: [ value1, value2, value3 ]
    D: [ value4, value5, value6 ]

看着uri上的json對象,我看到它像

{"C":["value1","value2","value3"],"D":["value4","value5","value6"]}

這是預期的結果,這是我遍歷yaml文件並將其發送的方式。

但是,當我嘗試使用coffee腳本訪問地圖(yamlmap)的第一個鍵“ C”時:

alphabet= (key for key,value of yamlmap)

它沒有顯示任何內容。 這是正確的方法嗎?

正如@ mu-is-too-short所說,您的代碼“幾乎”正確。 但我建議在下面。

alphabet = Object.keys yamlmap

通過在http://coffeescript.org上嘗試使用Web編譯器並比較其結果,可以很容易地理解進一步的解釋。

簡而言之,

alphabet = (key for key of yamlmap)

這將比您的代碼(key for key,value of yamlmap)要好得多,而該代碼卻越來越忽略對象的值,在下面的js中仍然等效

alphabet = (function(){
  var results = [];
  for (key in yamlmap)
    results.push(key)
  return results;
})();

雖然我建議的代碼在js中與以下代碼幾乎相同,但比上面的代碼快2至3倍。

alphabet = Object.keys(yamlmap);

許多模板語言都可能存在此類問題,我們應該意識到這一點。

暫無
暫無

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

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