如何将month_year与对应数值拆分?附输出示例及jQuery代码
如何拆分month_year与对应数值?
嘿,我来帮你搞定这个拆分month_year和对应数值的问题!结合你给出的示例数据和jQuery代码场景,咱们可以这样来实现:
首先,先把你给出的原始数据整理成可处理的字符串(假设这是接口返回的内容):
APR_2017 : "974144328" AUG_2017 : "1021696328" DEC_2017 : "1069248328" FEB_2017 : "950368328" JAN_2017 : "938480328" JAN_2018 : "1081136328" JUL_2017 : "1009808328" JUN_2017 : "997920328" MAR_2017 : "962256328" MAY_2017 : "986032328" NOV_2017 : "1057360328" OCT_2017 : "1045472328" SEP_2017 : "1033584328"
接下来,把这段处理逻辑放到你的jQuery ajax请求的回调里就行,具体代码如下:
$.ajax({ url: "overall-sales-chart.php", method: "POST", data: {activator: activator}, // 补全你的activator参数 success: function(response) { // 用来存储拆分后的键值对 const salesData = {}; // 用正则匹配每个月份年份和对应的数值 const pattern = /([A-Z]{3}_\d{4}) : "(\d+)"/g; let matchResult; // 遍历所有匹配项,拆分并存储 while ((matchResult = pattern.exec(response)) !== null) { const monthYear = matchResult[1]; const salesValue = matchResult[2]; // 如果需要数值是数字类型,就用parseInt(salesValue, 10)转换 salesData[monthYear] = salesValue; } // 现在salesData就是拆分好的对象了,你可以按需使用 console.log(salesData); // 比如获取JAN_2017的数值:salesData['JAN_2017'] } });
简单解释下逻辑
- 正则表达式
/([A-Z]{3}_\d{4}) : "(\d+)"/g专门匹配你的数据格式,第一个捕获组提取APR_2017这类月份年份,第二个捕获组提取对应的数值字符串。 - 通过
while循环遍历所有匹配结果,把每一组键值对存入salesData对象,之后你就能通过月份年份直接调取对应数值,不管是做图表渲染还是其他处理都很方便。
内容的提问来源于stack exchange,提问作者user9644415
相关产品推荐
相关产品推荐

