一维数组转二维数组、交错数组

ε祈祈猫儿з 提交于 2019-11-28 05:40:41

元数据:

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!