如何将新对象添加到数组中

时间:2015-03-29 22:28:51

标签: javascript arrays

我必须编写一个函数来创建一个数组,该数组填充了表示三个"类型"的指定数量的对象。这些对象。

没有使用for或while循环而不是手动执行此操作? 我不知道如何将这些对象添加到数组中。

我是随机选择对象的类型,但是如何将它们添加到数组中呢?

这些是对象:

 var bestaccount=function(){
   var amount=0;
   this.pay=function(howmuch){amount+=howmuch;};
   this.widthdraw=function(howmuch){amount-=howmuch;};
   this.saldo=function(){return amount;};
   };

   var toGive= function(){
   var amount=0;
   this.pay=function(howmuch){amount+=howmuch;};
   this.saldo=function(){return amount;};
   };

   var toWithdraw=function(){
   var amount=0;
   this.withdraw=function(howmuch){amount-=howmuch;};
   this.saldo=function(){return amount;};
   };

例如,有3个toWithdraw对象,1个bestAccount和1个toGive。我希望他们都在一个阵列中。

编辑: 对不起,我使用的是完全错误的功能。

如果有人需要,我会用apply()来做。 这是代码:

 function fillArrayWithNumbers(n) {

        arr = Array.apply(null, Array(n));
        tabl= arr.map(function (x, i) { return new objects[Math.floor(Math.random()*objects.length)](); });
      return tabl;
    }

抱歉,但没有压力的人。每个人都以某种方式开始。

2 个答案:

答案 0 :(得分:1)

现在您已回答了自己的问题,我发现我误解了它。无论如何,这里是如何将对象添加到数组:

您可以使用以下方式向数组添加新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");

现在,您需要一个包含对象的数组,而不是带有字符串的数组。所以你可以先创建这样的对象:

var myObject = {numberOfGive: 1, numberOfWithdraw: 3, numberOfBestAccount: 1};

然后将其推送到您的阵列:

var myArray = [];
myArray.push(myObject);

Source

答案 1 :(得分:0)

这是我的解决方案:

var objects =[bestaccount,toGive,toWithdraw];

function fillArrayWithNumbers(n) {

        arr = Array.apply(null, Array(n));
        tabl= arr.map(function (x, i) { return new objects[Math.floor(Math.random()*objects.length)](); });
      return tabl;
    }

感谢您的回复。