给定这样的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"
}
}
我问了一个有关解析对象的问题,其中label:数字在这里:JSON / Javascript:返回哪个数组对象包含某个属性
我在那里有一个足够的答案(使用filter()),但是现在需要知道对象的原始索引。
这个问题似乎可以解决,但我对javascript的了解不足,无法将其转换为对我的特定问题有用的东西。
以下代码成功返回该对象。现在,我需要修改它以返回对象的原始索引:
var numberValue, list = parsed.something.terms.filter(function(a){
return a.label==='number';
});
numberValue = list.length ? list[0].value : -1;
这必须是纯JavaScript的解决方案,没有外部库等。
我认为您无法修改过滤器解决方案,因为丢失了索引的过滤器内部。
您链接到的解决方案使用有角度的外部库。
因此,这是一个纯JS解决方案:
var numberValue = parsed.something.terms
.map(function(d){ return d['label']; })
.indexOf('number');
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句