天软金融分析.NET函数大全 > TSL函数 > 基础函数 > 数组 > 重构函数

ReIndex    

简述

修改数组下标
定义
ReIndex(Var Data:Array;IndexInfo1:<Nil|Array>[;IndexInfo2;...; IndexInfoN:<Nil|Array>]);
参数
名称类型说明
DataArray需要重构的数组
IndexInfo1<Nil|Array第一维的重构信息,如果为NIL则表示该维度不重构,数组以需要重构的下标为下标新下标为值的模式。
即,array(原下标1:新标1,原下标2:新标2,...)当给原下标:nil时,则表示删除该下标的行或列。
IndexInfo2<Nil|Array第二维的重构信息,可省略
IndexInfoN<Nil|Array第N维的重构信息,可省略
返回
0,重构后的结果保存在data变量中。
  • 范例


    //修改数字列名数组为字符串列名数组,即将0,1,2(自增数字)列名重构为"a","b","c"列名的数组
    A:=rand(10,3);
    s:=array("a","b","c");
    ReIndex(A,nil,s);
    return A;


    //修改数字行标数组为字符串行标数组,即将0,1,2(自增数字)行标重构为"a","b","c"行标的数组
    A:=rand(3,3);
    s:=array("a","b","c");
    ReIndex(A,s);
    return A;


    //通过设置行标为nil进行删除该行记录
    A:=array("A":0,"B":1,"D":2,"E":3);
    ReIndex(A,array("A":"A1","D":nil));
    return A;
    //返回:array("A1":0,"B":1,"E":3);


    //如果我们要对多维数组进行处理
    A:=rand(10,array("A","B","D","E"); //初始化一个四列的二维矩阵
    ReIndex(A,nil,array("A":"A1","D":nil));
    return A ;
    //说明,第2个参数为nil表示对第一维的下标不进行变动,因此我们修改列"A"为"A1",并删除"D"列。


    //利用Reindex做列的交换
    A:=array(1,2,3,4,5);
    reIndex(A,array(0:4,4:0));
    return A ;
    //结果为array(5,2,3,4,1);
相关