• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript二维数组实现

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在一个游戏项目中要用到二维数组,发现操作挺麻烦的,自己写一个,使用方便,简单易懂。

使用方式:

        let my2DArray:My2DArray = new My2DArray(5,6,0);
        console.log("数组:",my2DArray.getArray());
        console.log("取值:",my2DArray.getValue(1,1));
        my2DArray.setValue(1,1,5);
        console.log("赋值后取值:",my2DArray.getValue(1,1));
        console.log("取数组范围外的值:",my2DArray.getValue(10,1));

运行结果:

My2DArray.ts源码如下:

/**
 * @author 杨松恺
 * @date 2018-12-05 15:45:08
 * 定义二维数组,提供相关操作
 */
class My2DArray{
    private my2DArray : Array<Array<number>> =  new Array<Array<number>>();
    private rows :number;
    private columns :number;

    /**
     * 初始化数组
     */
    public constructor(rows:number,columns:number,value:number){
        this.rows = rows;
        this.columns = columns;
        this.initRows(rows);
        this.initColumns(columns,value);
    }
    /**
     * 取数组中的值
     */
    public getValue(rows:number,columns:number):number{
        if(rows < 0 || columns < 0 || rows >= this.rows || columns >= this.columns){
            return null;
        }
        return this.my2DArray[rows][columns];
    }
    /**
     * 为数组赋值
     */
    public setValue(rows:number,columns:number,value:number):void{
        if(rows < 0 || columns < 0 || rows >= this.rows || columns >= this.columns){
            return ;
        }
        this.my2DArray[rows][columns] = value;
    }
    /**
     * 初始化行数
     */
    private initRows(rows:number):void{
        if(rows < 1) {
            return;
        }
        for(let i = 0 ; i < rows ; i ++){
            this.my2DArray.push(new Array<number>());
        }
    }
    /**
     * 初始化列数
     */
    private initColumns(columns:number,value:number):void{
        if(columns < 1){
            return;
        }
        for(let i = 0 ; i < this.my2DArray.length ; i ++){
            for(let j = 0 ; j < columns ; j ++){
                this.my2DArray[i].push(value);
            }
        }
    }
    /**
     * 获取数组
     */
    public getArray():Array<Array<number>>{
        return this.my2DArray;
    }
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
JavaScript,ECMAScript,TypeScript,NodeJS,CommonJS,React Native到底你们的关系 ...发布时间:2022-07-18
下一篇:
typescript(Day6)发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap