元数据:
var odata=["交易日期|股权激励计划类型|通知类型|交易类别",
"20160511| 1| 1| 1",
"20160511| 1| 1| 1",
"20160515| 1| 5| 1",
"20160512| 1| 2| 1",
"20160515| 1| 2| 1",
"20160512| 1| 5| 1",
"20160515| 1| 1| 1"];
希望日期相同的组合为一个二维数组的子数组
期望结果为:
[
["20160511| 1| 1| 1","20160511| 1| 1| 1"],
["20160515| 1| 5| 1","20160515| 1| 2| 1","20160515| 1| 1| 1"],
["20160512| 1| 2| 1","20160512| 1| 5| 1"]
]
直接上代码
var odata=["交易日期|股权激励计划类型|通知类型|交易类别",
"20160511| 1| 1| 1",
"20160511| 1| 1| 1",
"20160515| 1| 5| 1",
"20160512| 1| 2| 1",
"20160515| 1| 2| 1",
"20160512| 1| 5| 1",
"20160515| 1| 1| 1"];
transArray(odata);
function transArray(odata)
{
odata.shift();//删除第一行元素
var resultArray=[];//存放结果集
var indexArray=[];//存放结果下标
var len,index,itemArray,newArray;
odata.forEach(element => {
itemArray=element.split('|');
index=indexArray[itemArray[0]];
if(index==null||index==undefined)
{
newArray=[];
newArray.push(element);
len=resultArray.push(newArray);
indexArray[itemArray[0]]=len-1;
}else{
resultArray[index].push(element);
}
});
console.log(JSON.stringify(resultArray));
}