在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
TypeScript中做类似ActionScript中的Dictionary功能时的写法 var dict: { [index: string]: Function[]; } = {}; dict['Matt'] = []; // ok dict['Chris'] ="123"; //编译警告 dict[1] = []; //编译警告 还有一种方法就是使用typescript-collections 里面的Dictionary类 https://github.com/basarat/typescript-collections#a-sample-on-dictionary 用法是这样的。 class Person { constructor(public name: string, public yearOfBirth: number,public city?:string) { } toString() { return this.name + "-" + this.yearOfBirth; // City is not a part of the key. } } class Car { constructor(public company: string, public type: string, public year: number) { } toString() { // Short hand. Adds each own property return collections.toString(this); } } var dict = new collections.Dictionary<Person, Car>(); dict.setValue(new Person("john", 1970,"melbourne"), new Car("honda", "city", 2002)); dict.setValue(new Person("gavin", 1984), new Car("ferrari", "F50", 2006)); console.log("Orig"); console.log(dict); // Changes the same john, since city is not part of key dict.setValue(new Person("john", 1970, "sydney"), new Car("honda", "accord", 2006)); // Add a new john dict.setValue(new Person("john", 1971), new Car("nissan", "micra", 2010)); console.log("Updated"); console.log(dict); // Showing getting / setting a single car: console.log("Single Item"); var person = new Person("john", 1970); console.log("-Person:"); console.log(person); var car = dict.getValue(person); console.log("-Car:"); console.log(car.toString());
|
请发表评论