Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 从文本jquery中查找和挑选模式_Javascript_Jquery_Json - Fatal编程技术网

Javascript 从文本jquery中查找和挑选模式

Javascript 从文本jquery中查找和挑选模式,javascript,jquery,json,Javascript,Jquery,Json,我正在将一个CSV文件解析为JSON,并想挑出一些东西,主要是因为我想用它来绘制一个图表。输出如下所示 分析器输出: {“数据”:[{“前10个百分位的产出(%)”:“CNRS”,“总体”:“22,6”,“1996”:“18,4”,“1997”:“18,6”,“1998”:“18,5”,“1999”:“17,3”,“2000”:“17,6”,“2001”:“18,6”,“2002”:“18,3”,“2003”:“17,5”,“2004”:“18,9”,“2005”:“20,2”,“2006”:“

我正在将一个CSV文件解析为JSON,并想挑出一些东西,主要是因为我想用它来绘制一个图表。输出如下所示

分析器输出:

{“数据”:[{“前10个百分位的产出(%)”:“CNRS”,“总体”:“22,6”,“1996”:“18,4”,“1997”:“18,6”,“1998”:“18,5”,“1999”:“17,3”,“2000”:“17,6”,“2001”:“18,6”,“2002”:“18,3”,“2003”:“17,5”,“2004”:“18,9”,“2005”:“20,2”,“2006”:“21,1”,“2007”:“22,1”,“2008”:“21,3”,“2009”:“22,9”,“2010”:“23,4”,“2011”:“25,3”,“2012”“24,5”、“2013”、“29,3”、“2014”、“31,7”},{“前10个百分位的产出(%)”:“DACH-奥地利、德国和瑞士”、“总体”、“16,9”、“1996”、“13,3”、“1997”、“13,4”、“1998”、“13,6”、“1999”、“14,1”、“2000”、“14”、“2001”、“14,8”、“2002”、“15,1”、“2003”、“14,9”、“2004”、“15,5”、“2005”、“15,5”、“2006”、“15,8”、“2007”、“16,2”、“2008”、“16,1”,“2009:”16,4“,”2010:”17,6“,”2011:”18,6“,”2012:”18,4“,”2013:”21,7“,”2014:”25,1“,”前10个百分位的产出(%):”欧洲“,”总体“,”13,5“,”1996:”11,2“,”1997:”11,2“,”1998:”11,3“,”1999:”11,5“,”2001:”12,2“,”2002:”12,3“,”2003:”12,2“,”2004“,”12,5“,”2005:”12,6“,”2006:”12,8“,”2007”“:13,2008:“12,6”,“2009:“12,8”,“2010:“13,4”,“2011:“14,1”,“2012:“13,7”,“2013:“16,5”,“2014:“21,4”),{“前10个百分位的产出(%)”:“J.斯特凡研究所”,“总体:“13,3”,“1996:“6,5”,“1997:”8,“1998:“8,9”,“1999:“9,7”,“2000:”8,“2001:“10,6”,“2002:”7,“2003:“8,2”,“2004:”12”,“2005:“9,5”,“2006:”“10,6”,“2007”:“13,4”,“2008”:“11,9”,“2009”:“12,8”,“2010”:“14,9”,“2011”:“15,5”,“2012”:“15,2”,“2013”:“19,7”,“2014”:“25,6”},{“前10个百分位的产出(%)”:“马克斯普朗克学会”,“总体”:“30,3”,“1996”:“25,9”,“1997”:“24”,“1998”:“24,3”,“1999”:“25”,“2000”:“25,6”,“2001”:“27”,“2002”:“26,2”,“2003”:“27,6”,“2004”:“27,8”2005:“27,8”,“2006:“28,1”,“2007:“29,4”,“2008:“29,2”,“2009:“30,9”,“2010:“32,4”,“2011:“33,2”,“2012:“34,8”,“2013:“39,8”,“2014:“38,9”},{“前10个百分位的产出(%)”:“卢布尔雅那国家生物研究所”,“总体:“17,7”,“1996:”4,“1997:“13,3”,“1998:”20”,“1999:“13,3”,“2000:”9,1”,“2001:”15,“2002”“:“15,6”、“2003”、“20,8”、“2004”、“18,2”、“2005”、“14,7”、“2006”、“14,3”、“2007”、“18”、“2008”、“19,7”、“2009”、“20”、“2010”、“21,1”、“2011”、“16,7”、“2012”、“18,2”、“2013”、“19”、“2014”、“24,1”},{“前10个百分位的产量(%)”:“卢布尔雅那国家化学研究所”、“总体上”、“21,5”、“1996”、“8,8”、“1997”、“4,1”、“1998”、“9”、“1999”:15,“2000”:“15,7”,“2001”:“21,4”,“2002”:“15,3”,“2003”:“18,4”,“2004”:“16,2”,“2005”:“20,4”,“2006”:“19,4”,“2007”:“30,8”,“2008”:“18,1”,“2009”:“19,4”,“2010”:“31,8”,“2011”:“23,1”,“2012”:“24,9”,“2013”:“29,3”,“2014”:“36},{”前10个百分位的产出(%):“斯洛文尼亚科学和艺术学院科学研究中心”,总的来说:“5,9”、“1996:0”、“1997:0”、“1998:0”、“1999:0”、“2000:0”、“2001”:“NA”、“2002:0”、“2003:0”、“2004”:“14,3”、“2005”:“4,5”、“2006:0”、“2007:0”、“2008:0”、“2009”:“7,8”、“2010”:“2,4”、“2011”:“6,8”、“2012”:“4,8”、“2013:0”、“2014:30”{”前10个百分位的产出(%):“斯洛文尼亚”,“总体”:“10,7”,“1996”:“5,8”,“1997”:“5,7”,“1998”:“5,7”,“1999”:“6,8”,“2000”:“5,5”,“2001”:“6,5”,“2002”:“6,8”,“2003”:“7,6”,“2004”:“7,8”,“2005”:“8,5”,“2006”:“9,3”,“2007”:“10,7”,“2008”:“9,6”,“2009”:“9,7”,“2010”:“10,8”,“2011”:“11,8”,“2012”:“12,3”,“2013”:“15,4”,“2014”:20,4“},{“前10个百分位的产出(%)”:“美国”,“总体”:“18,3”,“1996”:“17,3”,“1997”:“17,5”,“1998”:“17,7”,“1999”:“17,7”,“2000”:“17,8”,“2001”:“18,9”,“2002”:“18,5”,“2003”:“17,7”,“2004”:“17,7”,“2005”:“17,3”,“2006”:“17,3”,“2007”:“17,6”,“2008”:“17,3”,“2009”:“17,4”,“2010”:“17,7”,“2011”:“18,4”,“2012”:17,8”,“2013”:“20,2”,“2014”:24},{“前10个百分位的产出(%)”:“斯图加特大学”,“总体”:“12,9”,“1996”:“12,7”,“1997”:“10,5”,“1998”:“14,2”,“1999”:“13,8”,“2000”:“10,6”,“2001”:“11,5”,“2002”:“12,6”,“2003”:“10,3”,“2004”:“11,8”,“2005”:“9,7”,“2006”:“11,9”,“2007”:“11,2”,“2008”:“11,8”,“2009”:“11,9”,“2010”“:”11,4“,”2011“:”13,7“,”2012“:”11,8“,”2013“:”16,4“,”2014“,”23,6“,”前10个百分位的产出(%):”卢布尔雅那大学“,”总体“:”10,9“,”1996“:”6,2“,”1997“,”6,1“,”1998“:”6,1“,”2000“,”5,“2001“,”6,“2002“:”6,8“,”2003“,”8,9“,”2004“,”7,8“,”2005“,”8“,”2006“:”10,1“,”2007“,”11,3“,”2008“,”10,6”“2009年”、“10,2”、“2010年”、“10,9”、“2011年”、“12,1”、“2012年”、“13,2”、“2013年”、“14,6”、“2014年”、“20,2”、{“前10个百分位的产出(%)”、“马里博尔大学”、“总体”、“9,5”、“1996”、“4,8”、“1997”、“3,6”、“1998”、“3,9”、“1999”、“1,9”、“2000”、“2,4”、“2001”、“2,4”、“2002”、“6,5”、“2003”、“4,5”、“2004”、“6,4”、“2005”、“8,8”、“2006”、“8,1”,“2007:“9,4”,“2008”:10,“2009:“8,5”,“2010:“7,7”,“2011:“9,9”,“2012:”13,“2013:”15,9”,“2014:”19,6“,”,““前10个百分位的产出(%)”:“新戈里察大学”,“总体”:“18,2”,“1996:”不适用”,“1997:“不适用”,“1998:”不适用”,“1999:“8,3”,“2000:”0,“2001:”4,2”,“2002:”4,“2003:”10,“2004:”9,3”,“2005:“12,3”,“2006”“:22,”2007“:”25,2“,”2008“:”17,5“,”2009“:”12,2“,”2010“,”15,3“,”2011“,”15,9“,”2012“,”18,3“,”2013“,”25,6“,”2014“,”27,5“,”错误“,”元“,”分隔符“,”换行符“,”\r\n“,”中止“,”假“,”截断“,”假“,”字段“:”[“前10个百分位的输出(%),”总体“,”1996“,”1997“,”1998“,”1999“,”2000“,”2001”,“2002”、“2003”、“2004”、“2005”、“2006”、“2007”、“2008”、“2009”、“2010”、“2011”、“2012”、“2013”、“2014”]}

有没有办法在某一年后搜索数字,比如1996:18,4(我只想在一个变量上得到18,4)?这些数字都在一个小数点上,永远不会消失
// 2D array
var arr2d = [[1, 2, 3], [4, 5, 6],[7, 8, 9]];

// get the third column
var col3 = arr2d.map(
    function(value, index) {
        return value[2];  // 2 is index of third column
    }
);

// col3 is now [3, 6, 9]
// provide your JSON in variable parserOutput

// get the column of year 1996
var col1996 = parserOutput.data.map(
    function(value, index) {
        return value["1996"];  // dot notation would be possible here, if key wasn't a number
    }
);

// col1996 is now ["18,4", "13,3", "11,2", "6,5"]
// return object of year values as property of year
var yearData = $.map(data,function(value) {
  return $.map(value, function(years) {
    return Object.keys(years).filter(Number)
    .map(function(data) {
      var year = {};
      year[data] = years[data];
      return year
    })
  })
});

$("#graphcontainer").text(JSON.stringify(yearData, null, 2));

// filter year data
var filtered = function(year) {
  return [].slice.call(yearData).filter(function(years) {
    return Number(Object.keys(years)[0]) === year
  })
};
var year = filtered(1996);