使用JS创建格式化数组

时间:2018-01-23 04:03:09

标签: javascript jquery arrays

我的格式是这个数组。

var data = [{
  "Month": "Jan 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Jan 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Feb 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Feb 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Mar 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "April 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "May 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "May 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "June 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "July 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Aug 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Sept 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Oct 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Nov 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Dec 2017 - Check",
  "balance": "0.00"
}, {
  "Month": "Dec 2017 - Check",
  "balance": "0.00"
}]
var label = [];
for (var i = 0; i < data.length; i++) {
  var label1 = [];
  var label1 = [];
  label1.push(data[i].Month.split('-')[0].trim().split(" ").join(','));
  label.push(label1);

}

console.log(label)

我想获得格式

[
    ["June", "2015"], "July", "August", "September", "October", "November", "December", ["January", "2016"], "February", "March", "April", "May"
]  

我想要的是具有空间的数组在另一个数组中。原因是我将在chartJS中使用。

到目前为止我得到的是

[
  [
    "Jan,2017,-,Check"
  ]
]

这看起来应该是

[
  [
    "Jan","2017","-","Check"
  ]
]

请忽略- Check我会修剪它但是如果元素不是.trim()我现在仍然有错误我的焦点是创建相同格式的数组

2 个答案:

答案 0 :(得分:2)

您可以使用map

这是一个小提琴:

&#13;
&#13;
var data = [{
		  "Month": "Jan 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "Jan",
		  "balance": "0.00"
		}, {
		  "Month": "Feb 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "Feb",
		  "balance": "0.00"
		}, {
		  "Month": "Mar",
		  "balance": "0.00"
		}, {
		  "Month": "April",
		  "balance": "0.00"
		}, {
		  "Month": "May 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "May",
		  "balance": "0.00"
		}, {
		  "Month": "June",
		  "balance": "0.00"
		}, {
		  "Month": "July 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "Aug",
		  "balance": "0.00"
		}, {
		  "Month": "Sept",
		  "balance": "0.00"
		}, {
		  "Month": "Oct 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "Nov 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "Dec 2017 - Check",
		  "balance": "0.00"
		}, {
		  "Month": "Dec",
		  "balance": "0.00"
		}];
		
		
		var result = data.map(function(v,i){
			let month = v.Month.split(" ");
			
			if ( month.length == 1 ) return month[0];
			else return [ month[0],month[1] ];
		});
		
		console.log( result );
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用JQUERY。

这是一个小提琴:

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">


           $(document).ready(function () {


               var data = [{
                   "Month": "Jan 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "Jan",
                   "balance": "0.00"
               }, {
                   "Month": "Feb 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "Feb",
                   "balance": "0.00"
               }, {
                   "Month": "Mar",
                   "balance": "0.00"
               }, {
                   "Month": "April",
                   "balance": "0.00"
               }, {
                   "Month": "May 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "May",
                   "balance": "0.00"
               }, {
                   "Month": "June",
                   "balance": "0.00"
               }, {
                   "Month": "July 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "Aug",
                   "balance": "0.00"
               }, {
                   "Month": "Sept",
                   "balance": "0.00"
               }, {
                   "Month": "Oct 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "Nov 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "Dec 2017 - Check",
                   "balance": "0.00"
               }, {
                   "Month": "Dec",
                   "balance": "0.00"
               }];

               var myJsonString = JSON.stringify(data);

               var JsonObject = JSON.parse(myJsonString);
               var label = [];
               var myJsonStrings = null;
               $.each(data, function (k, v) {

                   var label1 = [];
                   if (v.Month.includes("-")) {
                       label1.push(v.Month.split(" - Check").join(''));
                       label.push(label1);
                   }
                   else {
                       label.push(v.Month.split(" ").join(','));
                   }
                   //console.log(k + ' is ' + v.Month);
                   //console.log(label);
                    myJsonStrings = JSON.stringify(label);

               });
               console.log(myJsonStrings);
           });

    </script>
&#13;
&#13;
&#13;

相关问题