TypeScript中做类似ActionScript中的Dictionary功能时的写法
var dict: { [index: string]: Function[]; } = {};
dict[ 'Matt' ] = []; // ok
dict[ 'Chris' ] = "123" ; // 编译警告
dict[1] = []; // 编译警告
还有一种方法就是使用typescript-collections 里面的Dictionary类
https://github测试数据/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://www.haodehen.cn/did223295