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

本文介绍了一种将具有相同交易日期的股权激励计划数据进行分组的算法实现,通过使用JavaScript,该算法能够将原始数据按照日期归类,形成便于处理的二维数组结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

元数据:

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

 

转载于:https://www.cnblogs.com/stubborn-donkey/p/11394688.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值