首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSON导出/导入ECMASCRIPT 6类

使用JSON导出/导入ECMASCRIPT 6类
EN

Stack Overflow用户
提问于 2016-01-11 07:45:53
回答 1查看 130关注 0票数 0

这都是使用ecmascript 6实现的;假设我有一个类

代码语言:javascript
复制
class Hero {
    constructor(id,name){
        this.id=id;
        this.name=name;
    }
}

并且我想创建一个该类型的对象数组:

代码语言:javascript
复制
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,这似乎并不是特别容易。我错过了什么容易的东西吗?谢谢!-Eric

EN

回答 1

Stack Overflow用户

发布于 2016-01-11 16:38:40

想要从特定的数组实例导入似乎很奇怪-特别是考虑到顺序可能会改变。导出一个工厂函数可能会更好,该函数根据标准创建一个new Hero

代码语言:javascript
复制
class Hero {
    constructor(id,name){
        this.id=id;
        this.name=name;
    }
}

const 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" }
];

export default function createHero(index) {
    const hero = HEROES[index];
    return new Hero(hero.id,hero.name);
}

调用者:

代码语言:javascript
复制
import createHero from "./hero";
const hero1 = createHero(1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34712172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档