簡體   English   中英

派生索引數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM