Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导出索引数组_Javascript_Arrays - Fatal编程技术网

Javascript 导出索引数组

Javascript 导出索引数组,javascript,arrays,Javascript,Arrays,这是JavaScript中遍历数据结构探索的继续。 见和 给定此Javascript对象: var parsed = { "terms": [ { "span": [ 12, 13 ], "value": "2", "label": "number" }, { "span": [ 13, 14 ], "valu

这是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"
};
我将如何导出标签为:number的术语的索引数组

在前面的一个问题中,如上所述,当已知只有一个这样的实例时,我能够解决导出某个标签的索引的概念

parsed.terms.map(function(d){ return d['label']; }).indexOf('number');
现在我面临着多个实例的概念,就像上面的对象一样。上面的代码snip将只派生第一个的索引


我可以通过循环遍历这些术语来构建一个数组,并查看每个术语是否都有数字标签,但是理想的解决方案可能会扩展或修改上面的代码片段,并且可能不会使用循环。

当您需要同时映射和筛选时,请使用:


当需要同时映射和过滤时,请使用:


您拥有的是一个JavaScript对象,而不是JSON。您的问题似乎与JSON无关。您也不是在“解析”任何东西,您只是在遍历数据结构。JSON只是“用JS编写对象声明的方式”。没有所谓的“json对象”。它是一种文本格式。@JacqueGoupil:JSON只是“用JS编写对象声明的方式”。不,您将JavaScript对象文本与JSON混淆。这两个是相关的,但不是相同的。@FelixKing好吧,是的,如果你想说得准确的话,我想。。。用
{key:value,key:value}
声明对象是JavaScript对象文字。JSON是一种文本文件格式,或者是一种将数据表示为包含单个JavaScript对象文字的文本的方式。@JacqueGoupil:JSON不包含JavaScript(对象文字)。JSON是与XML类似的独立于语言的数据格式。它的灵感来自JavaScript,但它不是JavaScript。您拥有的是JavaScript对象,而不是JSON。您的问题似乎与JSON无关。您也不是在“解析”任何东西,您只是在遍历数据结构。JSON只是“用JS编写对象声明的方式”。没有所谓的“json对象”。它是一种文本格式。@JacqueGoupil:JSON只是“用JS编写对象声明的方式”。不,您将JavaScript对象文本与JSON混淆。这两个是相关的,但不是相同的。@FelixKing好吧,是的,如果你想说得准确的话,我想。。。用
{key:value,key:value}
声明对象是JavaScript对象文字。JSON是一种文本文件格式,或者是一种将数据表示为包含单个JavaScript对象文字的文本的方式。@JacqueGoupil:JSON不包含JavaScript(对象文字)。JSON是与XML类似的独立于语言的数据格式。它的灵感来自JavaScript,但它不是JavaScript。
var indexes = parsed.terms.reduce(function(indexCollection, item, index) {
    if(item.label === 'number') {
        indexCollection.push(index);
    }

    return indexCollection;
}, []);