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());
查看更多关于TypeScript的Dictionary的写法的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did223295