Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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 按键名筛选JSON数据_Javascript_Angularjs_Json - Fatal编程技术网

Javascript 按键名筛选JSON数据

Javascript 按键名筛选JSON数据,javascript,angularjs,json,Javascript,Angularjs,Json,我对angularJS是新手 我有如下JSON数据: [ { "REPORT_ID": "QDP56DSC4BK", "REPORT_NAME": "non, lobortis quis, pede.", "REPORT_STATUS": 1, "REPORT_TYPE": "Duis Sit Amet Ltd", "REPORT_DATE": "Sep 3, 2015", "REPORT_INGREDIENT_1": "Prednisone",

我对angularJS是新手

我有如下JSON数据:

[
{
    "REPORT_ID": "QDP56DSC4BK",
    "REPORT_NAME": "non, lobortis quis, pede.",
    "REPORT_STATUS": 1,
    "REPORT_TYPE": "Duis Sit Amet Ltd",
    "REPORT_DATE": "Sep 3, 2015",
    "REPORT_INGREDIENT_1": "Prednisone",
    "REPORT_INGREDIENT_2": "Alprazolam",
    "REPORT_INGREDIENT_3": "Prednisone",        

},
{
    "REPORT_ID": "JQY45UOQ8PY",
    "REPORT_NAME": "Cras dolor dolor, tempus",
    "REPORT_STATUS": 4,
    "REPORT_TYPE": "Sociis Incorporated",
    "REPORT_DATE": "Apr 26, 2015",
    "REPORT_INGREDIENT_1": "Clonazepam",
    "REPORT_INGREDIENT_2": "Hydrocodone/APAP",
    "REPORT_INGREDIENT_3": "Nuvaring",      
},
{
    "REPORT_ID": "EDE42OUH3FM",
    "REPORT_NAME": "posuere cubilia Curae; Donec",
    "REPORT_STATUS": 5,
    "REPORT_TYPE": "Pede Inc.",
    "REPORT_DATE": "May 22, 2015",
    "REPORT_INGREDIENT_1": "Furosemide",
    "REPORT_INGREDIENT_2": "Lipitor",
    "REPORT_INGREDIENT_3": "Losartan Potassium",

},
{
    "REPORT_ID": "BWQ55EIS6LS",
    "REPORT_NAME": "enim. Nunc ut erat.",
    "REPORT_STATUS": 1,
    "REPORT_TYPE": "Orci Sem Institute",
    "REPORT_DATE": "Dec 29, 2015",
    "REPORT_INGREDIENT_1": "Alprazolam",
    "REPORT_INGREDIENT_2": "Celebrex",
    "REPORT_INGREDIENT_3": "Promethazine HCl",
}
]
如何筛选此数据并将所有“报告状态”数据存储在单独的数组中

我的数组应该包含: [“报告状态”:1,“报告状态”:4,“报告状态”:5,“报告状态”:1]

这样,您将拥有一个包含所有ReportStatus的数组,如下所示:

[1,2,4,6,7]
不可能有一个包含键值对的数组,请为此使用一个对象。

试试这个

 values = your_json_array;
    var status = [];
    angular.forEach(values, function(value, key) {
      this.push(value.REPORT_STATUS);
    }, status);
报告状态将存储在状态变量输出
STATUS=[1,4,5,1]

有关更多信息,请参见单线版本

var reportStatusArray = yourJsonArray.map(function(r){ return r['REPORT_STATUS']; });
这将为您提供
[1,2,3,4,5]

或者:

var reportStatusArray = yourJsonArray.map(function(r){ return {'REPORT_STATUS': r['REPORT_STATUS']}; });
将为您提供
[{“报告状态”:1},{“报告状态”:2}…]

让我们一起玩:

将产生

[{"REPORT_STATUS":1},{"REPORT_STATUS":4},{"REPORT_STATUS":5},{"REPORT_STATUS":1}]

json不正确。请先更正大概开头的
[{
和结尾的
]
都是错的?你想在页面上过滤这个,还是想问如何在vanilla js中预过滤它?感谢json的观点,但这里只是输入错误。所以json语法是正确的fine@Jonathon,我要的是预滤器
console.log(JSON.stringify(json, ['REPORT_STATUS']));
[{"REPORT_STATUS":1},{"REPORT_STATUS":4},{"REPORT_STATUS":5},{"REPORT_STATUS":1}]