javascript - 使用 JS 创建格式化数组

标签 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 它,但如果元素不是 .trim() 我现在仍然会出错 我的重点是创建与数组

最佳答案

您可以使用map来实现此目的。

这是一个 fiddle :

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 );

关于javascript - 使用 JS 创建格式化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394022/

相关文章:

javascript - chrome.webNavigation.onCompleted 在完成之前触发?

javascript - 将数组的内容作为列表元素添加到无序列表

jquery 选择 float 子项的每个 "row"

java - 使用 Arrays.asList() 初始化列表的最佳方法是什么

javascript - 映射 Json 数组值

javascript - 为什么我的 "click"事件监听器不能为我的删除按钮工作?

javascript - React.js 将多个 json 值传递给一个子参数

javascript - Bx Slider 增加div的高度

jquery - session 在 jquery 的 uploadify 插件中不起作用

c++ - Tic Tac Toe cin 输入问题