给定一个JSON对象,如:
{
"something": {
"terms": [
{
"span": [
15,
16
],
"value": ":",
"label": "separator"
},
{
"span": [
16,
20
],
"value": "12.5",
"label": "number"
}
],
"span": [
15,
20
],
"weight": 0.005,
"value": ":12.5"
}
我想写一些javascript来确定" term"的索引。它有一个"标签":"数字"。最终我想确定"值" "术语"它有一个"标签":"数字",我知道我可以用这样的东西得到它,其中索引是已知的:
parsed = JSON.parse(result.trim());
var numberValue = parsed.terms[1].value;
我的第一个想法可能只是编写一个foreach循环,然后当我到达一个具有"标签":" number"的数组对象时返回numberValue。
有更优雅和/或简洁的方法吗?
答案 0 :(得分:1)
使用Array.prototype.filter
:
var numberValue, list = parsed.something.terms.filter(function(a){
return a.label==='number';
});
numberValue = list.length ? list[0].value : -1;