如何从具有值列表的地图中访问第一个键作为咖啡脚本中的对象

时间:2014-03-28 04:26:09

标签: json coffeescript yaml

我正在使用休息呼叫访问此yaml文件(转换为json)。

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

查看uri上的json对象,我看到它显示为

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

我希望这个结果是我遍历yaml文件并发送它的方式。

但是,当我尝试使用咖啡脚本访问地图的第一个键“C”时(

alphabet= (key for key,value of yamlmap)

它没有显示任何内容。这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

由于@ mu-is-too-short已评论过,您的代码几乎是'对。 但我在下面推荐。

alphabet = Object.keys yamlmap

此外,通过在http://coffeescript.org上尝试网络编译器并比较结果,可以轻松理解解释。

简而言之,

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

许多模板语言可能会遇到此类问题,我们应该注意这一点。