TS方法重载

TS方法重载,第1张

实现Java的ArrayList方法
这个重载和函数重载类似,就不做多了说明

class ArrayList {
    constructor(public element:Array<Object>) {
        this.element = element
    }

    get(index:number) {
        return this.element[index]
    }
 
    show() {
        this.element.forEach((v)=> {
            console.log(v);
        })
    }
    remove(value:number):number
    remove(value:object):object
    remove(value: any): number | object {
        this.element = this.element.filter((v,index)=> {
            if(typeof value === "number") {
                return index !== value
            } else {
                return value!== v
            }
        })
        return value

    }
}
let stuOne = {name: 'zs'}
let stuTwo = {name: 'ls'}
let stuThree = {name: 'ww'}
let studys =  [stuOne, stuTwo, stuThree]
// let arr = new  ArrayList(studys)
// arr.show()

let arrayList = new ArrayList(studys)

let v = arrayList.remove(1)
console.log(`我删除是第 ${v}个学生`, arrayList.show());
let v = arrayList.remove(stuTwo)
console.log(v);
arrayList.show()

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/923394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存