如何使用jquery替换缺少的月份?
这是我的json_编码输出如何使用jquery替换缺少的月份?,jquery,arrays,Jquery,Arrays,这是我的json_编码输出 $result = '[{ MFG_NAME: "ABC", CONCATED_MKT_SHARE: "01-OCT-14|0.59" }, { MFG_NAME: "XYZ", CONCATED_MKT_SHARE: "01-OCT-14|0.87" }, { MFG_NAME: "ABC", CONCATED_MKT_SHARE: "01-NOV-14|0.25" }, { MFG_NAME: "XYZ", CO
$result = '[{ MFG_NAME: "ABC", CONCATED_MKT_SHARE: "01-OCT-14|0.59" },
{ MFG_NAME: "XYZ", CONCATED_MKT_SHARE: "01-OCT-14|0.87" },
{ MFG_NAME: "ABC", CONCATED_MKT_SHARE: "01-NOV-14|0.25" },
{ MFG_NAME: "XYZ", CONCATED_MKT_SHARE: "01-NOV-14|0.67" },
{ MFG_NAME: "ABC", CONCATED_MKT_SHARE: "01-DEC-14|0.10" },
{ MFG_NAME: "XYZ", CONCATED_MKT_SHARE: "01-DEC-14|0.03" }]';
这就是我在jquery中所做的
$(function () {
var data = new Array();
data = <?php echo $result; ?>;
var MFG_NAME = [];
var DATE = [];
var MKT = [];
data.forEach(function(item) {
var parts = item.CONCATED_MKT_SHARE.split("|");
var i = MFG_NAME.indexOf(item.MFG_NAME);
if (i == -1) {
MFG_NAME.push(item.MFG_NAME);
DATE.push([parts.shift()]);
MKT.push([+parts.shift()]);
}
else {
DATE[i].push(parts.shift());
MKT[i].push(+parts.shift());
}
});
});
$(函数(){
var data=新数组();
数据=;
var制造商名称=[];
var日期=[];
var MKT=[];
data.forEach(功能(项){
var parts=项目.集中的市场份额.分割(“|”);
变量i=制造商名称.indexOf(项目.MFG\u名称);
如果(i==-1){
制造商名称。推送(项目。制造商名称);
推送日期([parts.shift()]);
市场推动([+parts.shift()]);
}
否则{
日期[i]。推送(parts.shift());
MKT[i].push(+parts.shift());
}
});
});
ABC和XYZ还有几个月的时间。有没有办法将丢失的月份替换为丢失的月份,这样我就可以得到所有12个月以及12个mktshare值,并将连接的值替换为0
$(function () {
var months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']
var data = new Array();
data = JSON.parse('[{"MFG_NAME":"ABC","CONCATED_MKT_SHARE":"01-MAR-14|0.74,01-APR-14|0.58,01-MAY-14|0.21,01-JUN-14|0.22,01-JUL-14|0.24,01-SEP-14|0.96,01-DEC-14|0.21,01-AUG-14|0.34"},{"MFG_NAME":"XYZ","CONCATED_MKT_SHARE":"01-MAR-14|0.44,01-MAY-14|0.82,01-JUN-14|0.71,01-AUG-14|0.22,01-JUL-14|0.24,01-SEP-14|0.96,01-DEC-14|0.21,01-AUG-14|0.34"}]');
var x = 0;
for (var i = 0; i < data.length; i++) {
var mfg = data[i],
share = mfg.CONCATED_MKT_SHARE;
for (var j = 0; j < months.length; j++) {
if (share.indexOf('-' + months[j] + '-') == -1) {
share += ',01-' + months[j] + '-14|0.0';
}
}
}
var dlen = data.length;
var cmname = new Array();
var cmdate = new Array();
var crank = [];
var mktshare = new Array();
for (i = 0; i < dlen; i++) {
cmname[i] = data[i].MFG_NAME;
shar = new Array();
shar = data[i].CONCATED_MKT_SHARE.split(',');
shlen = shar.length;
shrk = new Array();
shard = new Array();
for (j = 0; j < shlen; j++) {
shaak = new Array();
shaak = shar[j].split('|');
shrk[j] = shaak[0];
shard[j] = parseFloat(shaak[1]);
}
cmdate[i] = shrk;
mktshare[i] = shard;
}
});
$(函数(){
var月数=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]
var data=新数组();
4.74,01-4月14日0.21,01-8月14日0.21,01-8月14日0.21,01-8月14日0.21,01-8月14日0.21,0.58,0.58,01-5月14日5 5月14日5月14日0.21,0.21,01-6-6月14月14日0.24,01-9月14日(0.96,01-12-12-12-12-12-14日14日14日)0.9月14日日(0.21,0.21,0.21,01-1-8月1-1-8月14日14日日10-8月14日14日14日日日日14日日日日日日日日日日日14日14日,0.21,0.21,0.21,01-8月1-8月1-8月1-8月14日8月14日8月14日14日日日日日日14 | 0.71,01-AUG-14 | 0.22,01-JUL-14 | 0.24,01-SEP-14 | 0.96,01-DEC-14 | 0.21,01-AUG-14 | 0.34“);
var x=0;
对于(变量i=0;i
演示:?我会让数据保持原样。缺失的数据点可能与0的数据点具有非常不同的含义。如果要对数据进行按摩,请使值
null
。我来自处理金融市场数据的背景,我们永远不会在数据端添加一个值来替换丢失的数据,因为这本身就是有意义的。由于数据库查询中的更改,$result的结构发生了更改。您能否为新的输出$result提供相同的逻辑