繁体   English   中英

如何在node.js中创建对象数组

[英]How to create array of object in node.js

我的班级看起来像这样:

var Coin = {
    _id: null,
    createGame: function(id) {
     this._id = id;
    },
    start: function() {

    }
};

我正在尝试创建一个对象数组,但是我只能创建一个对象。 有人可以告诉我我做错了吗?

我创建这样的数组:

CoinArray = [];
CoinArray['123'] = new Coin.createGame(123);
CoinArray['333'] = new Coin.createGame(333);
CoinArray['333'].start

最后,我想使用带有对象的数组,例如,我将采用数组的第一个el并执行Coin类中的其他方法。

您需要将一个新创建的项目推送到数组中,如下所示:

CoinArray.push(new Coin.Create('123)); 

另一方面,如果要创建具有键ID和对应于Coin对象的值的对象,则应尝试以下操作:

CoinDictionary = {};
CoinDictionary['123'] = new Coin.Create('123');

注意事项

我认为,如果您想将Coin用作构造函数 ,则应该对Coin进行一些重构:

function Coin(id){
    this.id = id;
}

进行此更改后,可以按以下方式使用它:

CoinArray.push(new Coin('123'));

 function Coin(id){ this.id = id; } var CoinArray = []; CoinArray.push(new Coin('123')); CoinArray.push(new Coin('456')); CoinArray.push(new Coin('789')); console.log(CoinArray); 

更新

最后,我想使用带有对象的数组,例如,我将采用数组的第一个el并执行Coin类中的其他方法。

为此,如果您是我,我会创建一个带有键的对象,该对象具有对Coin对象的id和value引用:

 function Coin(id){ this.id = id; } Coin.prototype.start = function(){ console.log("game with id "+this.id+" started."); } Coins = {} Coins['123'] = new Coin('123'); Coins['456'] = new Coin('456'); Coins['789'] = new Coin('789'); Coins['456'].start(); 

class Coin {
  constructor(id) {
    this._id = id;
  }
  start() {
    console.log('starting');
  }
}

CoinArray = [];
CoinArray['123'] = new Coin(123);
CoinArray['333'] = new Coin(333);
CoinArray['123'].start();

我也建议以这种方式管理ID:

let id = 0;
class Coin {
  constructor() {
    this._id = id++;
  }
  start() {
    console.log('starting');
  }
}

CoinArray = [];
CoinArray.push(new Coin());
CoinArray.push(new Coin());
CoinArray[0].start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM