Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
如何使用jquery替换缺少的月份?_Jquery_Arrays - Fatal编程技术网

如何使用jquery替换缺少的月份?

如何使用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

这是我的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", 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提供相同的逻辑