【发布时间】:2016-01-10 23:45:53
【问题描述】:
这都是使用 ecmascript 6;说我有课
class Hero {
constructor(id,name){
this.id=id;
this.name=name;
}
}
我想创建一个该类型的对象数组:
var HEROES = [
{ "id": 11, "name": "Mr. Nice" },
{ "id": 12, "name": "Narco" },
{ "id": 13, "name": "Bombasto" },
{ "id": 14, "name": "Celeritas" },
{ "id": 15, "name": "Magneta" },
{ "id": 16, "name": "RubberMan" },
{ "id": 17, "name": "Dynama" },
{ "id": 18, "name": "Dr IQ" },
{ "id": 19, "name": "Magma" },
{ "id": 20, "name": "Tornado" }
];
除了手动解析数组然后为每个元素执行 New Hero() 之外,还有其他方法吗?能够做类似HEROES[] = hero.jsonExport() 和稍后var = hero.jsonImport(HEROES[i]) 的事情会很好。我一直在环顾四周,但不使用 Typescript 这似乎并不容易。我错过了一些简单的事情吗?
谢谢!
-埃里克
【问题讨论】:
-
你在找
HEROS.map(({id, name}) => new Hero(id, name))吗? -
在你的类中添加一个
static fromJSON({id, name}) { return new this(id, name); }方法,然后使用HEROES.map(Hero.fromJSON)
标签: json ecmascript-6