[英]Deriving an array of indexes
這是JavaScript中遍歷數據結構的探索的延續。 看到這里和這里 。
給定此Javascript對象:
var parsed = {
"terms": [
{
"span": [
12,
13
],
"value": "2",
"label": "number"
},
{
"span": [
13,
14
],
"value": "x",
"label": "multiply"
},
{
"span": [
14,
16
],
"value": "14",
"label": "number"
},
],
"span": [
12,
21
],
"weight": 0.85,
"value": "2x14 test"
};
我將如何得出標簽:數字的術語索引數組?
在上面提到的上一個問題中,當已知只有一個實例時,我能夠解決為特定標簽派生索引的概念。
parsed.terms.map(function(d){ return d['label']; }).indexOf('number');
現在,我面臨着多個實例的概念,就像上面的對象一樣。 上面的代碼片段將僅得出第一個的索引。
我可以通過遍歷這些術語來構建數組,看看每個術語是否都有數字標簽,但是理想的解決方案可能是擴展或修改上面的代碼片段,也許不使用循環。
當您需要同時映射和過濾時,請使用reduce :
var indexes = parsed.terms.reduce(function(indexCollection, item, index) {
if(item.label === 'number') {
indexCollection.push(index);
}
return indexCollection;
}, []);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.