Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在mustache.js中迭代哈希_Javascript_Node.js_Mustache - Fatal编程技术网

Javascript 如何在mustache.js中迭代哈希

Javascript 如何在mustache.js中迭代哈希,javascript,node.js,mustache,Javascript,Node.js,Mustache,考虑到这个散列 a = { foo : { ... }, bar : { ... }, zap : { ... } } 我想对它进行迭代,但由于键不同,我不确定如何在Mustache.js中使用 输出将如下所示:foo:(此处的内容)如果您知道要检索的嵌套对象中的键,则可以使用函数 见: js: html: {{a} {{n}} {{/a} 输出 ​ 当然,这是假设您的数据是一个对象数组(您帖子中的a可能是一个更大数组中的一个键),如果您没有数组,我不明白为什么您不能为一个对象

考虑到这个散列

a = {
  foo : { ... },
  bar : { ... },
  zap : { ... }
}
我想对它进行迭代,但由于键不同,我不确定如何在Mustache.js中使用


输出将如下所示:foo:(此处的内容)

如果您知道要检索的嵌套对象中的键,则可以使用函数

见:

js:

html:


{{a}
{{n}}

{{/a} 输出 ​

当然,这是假设您的数据是一个对象数组(您帖子中的
a
可能是一个更大数组中的一个键),如果您没有数组,我不明白为什么您不能为一个对象调整它,并为您要查找的每个键的任何属性创建一个getter函数。

您能详细介绍一下吗?您想迭代
foo
bar
zap
的元素还是键本身?是的,这样可以。。要获取散列值而不是在视图中迭代它们,似乎需要做很多工作
$(function() {
    var names = {
        "a": [
            {"foo": { "name": "foo name"}},
            {"bar": { "name": "bar name"}},
            {"zap": { "name": "zap name"}}
        ],
        "n": function() {
            var self = this;
            var n = "";
            Object.keys(self).forEach(function(k, v) {
                if (typeof self[k] == "object") {
                    if(!n) n = self[k]["name"];
                }
            });
            return n;
        }
    };

    var template = $('#template').html();
    var out = $('#output');
    var html = Mustache.to_html(template, names);
    console.log(html);
    out.html(html);
});​
<script id="template" class="template" type="text/x-mustache">
{{#a}}
<p>{{n}}</p>
{{/a}}
</script>

<h1>Output</h1>
<div id="output">
</div>
​