想请教TS的Dictionary要怎么做?

参考了一篇ts文:https://dotblogs.com.tw/clark/2015/07/07/151756

大致是做了一半了 想问add 跟 ContainsKey这两个要怎么加到function内?

写了写有点卡住逻辑,还请不吝赐教

我猜应该这样:

add:(key:string,value:spriteFrame){
this[key] = value;
}

ContentKey:(key:string){
return !(!this[key]);
}

但这种做法最终也只是一个map (这是js 的原因),在c#中 Dictionary 是一个hash 结构才对

而现在你的情况,直接宣告一个 let mapVal:{[key:string]:cc.SpriteFrame} = {} ,或者new Map< string,cc.SpriteFrame >() 它不香吗 ?

1赞

原来可以用map , 谢谢 受教了!

js有相似语法的话,也省得我去实作dictionary了

用map 和 set 都可以,不用自己实现