Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 AngularJS和JSON数组_Javascript_Arrays_Angularjs_Json - Fatal编程技术网

Javascript AngularJS和JSON数组

Javascript AngularJS和JSON数组,javascript,arrays,angularjs,json,Javascript,Arrays,Angularjs,Json,我试图通过使用AngularJS过滤器(如$filter)来安排现有的JSON数组,如下所示,但失败了 { { name: "name 1", label: "A", }, { name: "name 2", label: "A", },

我试图通过使用AngularJS过滤器(如$filter)来安排现有的JSON数组,如下所示,但失败了

 {
        {       
            name: "name 1",         
            label: "A",     
        },
        {       
            name: "name 2",         
            label: "A",     
        },
        {       
            name: "name 3",         
            label: "B",     
        },
        {       
            name: "name 4",         
            label: "B",     
        },
        {       
            name: "name 5",         
            label: "B",     
        },
        {       
            name: "name 6",         
            label: "C",     
        },
        {       
            name: "name 7",         
            label: "C",     
        },
        {       
            name: "name 8",         
            label: "C",     
        },
        {       
            name: "name 9",         
            label: "D",     
        }
    }
我想要的是将这个数组排列成如下的新数组

{
    "A" : { 
        {       
            name: "name 1",         
            label: "A",     
        },
        {       
            name: "name 2",         
            label: "A",     
        },
    },
    "B" : {
        {       
            name: "name 3",         
            label: "B",     
        },
        {       
            name: "name 4",         
            label: "B",     
        },
        {       
            name: "name 5",         
            label: "B",     
        },
    },
    "C" : {
        {       
            name: "name 6",         
            label: "C",     
        },
        {       
            name: "name 7",         
            label: "C",     
        },
        {       
            name: "name 8",         
            label: "C",     
        },
    },
    "D" : {
        {       
            name: "name 9",         
            label: "D",
        }
    }   
}
如何使用angularJS获取新数组?

如果您正在使用,您可以使用
\uuux.groupBy
函数来实现此目的:

var grouppedArray = _.groupBy(myArray, function(i){
  return i.label;
})
若要仅提取标签,您可以像这样进行smth

var uniqueLables = [];
angular.forEach(myArray, function(obj){
  if(uniqueLables.indexOf(obj.label) == -1) uniqueLables.push(obj.label)
})
试试这个

   var result = {}
   angular.forEach(jsonData, function(obj){
       if(!result.hasOwnProperty(obj.label) result[obj.label] = []
       result[obj.label].push(obj)
   })

   console.log(result)

非常感谢。再帮我一个忙。我怎么能只得到“A”、“B”、“C”而没有任何子值?