handlebarsjs - 我可以通过 json 键访问元素吗?

handlebarsjs - Can I access element by json key?

我有 json 这样的:

"elements":[

{
"type":"AAAA",
"val":{"detail":"111"}},

"type":"BBBB",
"val":{"detail":"222"}}
}]

如何获取具有特定类型的元素的值 detail? 我可能可以做一个 each 循环,但是有没有更有效的方法,比如在 XSL 中:

{{elements.type['AAAA'].val}} 

在普通的Javascript中,你可以为它写一个辅助函数。

function getReference(array, key) {
    var r;
    array.some(function (a) {
        if (a.type === key) {
            r = a;
            return true;
        }
    });
    return r;
}

var object = { "elements": [{ "type": "AAAA", "val": { "detail": "111" } }, { "type": "BBBB", "val": { "detail": "222" } }] };

document.write('<pre>' + JSON.stringify(getReference(object.elements, 'AAAA').val, 0, 4) + '</pre>');