我必须编写一个函数来创建一个数组,该数组填充了表示三个"类型"的指定数量的对象。这些对象。
没有使用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;
}
抱歉,但没有压力的人。每个人都以某种方式开始。
答案 0 :(得分:1)
现在您已回答了自己的问题,我发现我误解了它。无论如何,这里是如何将对象添加到数组:
您可以使用以下方式向数组添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");
现在,您需要一个包含对象的数组,而不是带有字符串的数组。所以你可以先创建这样的对象:
var myObject = {numberOfGive: 1, numberOfWithdraw: 3, numberOfBestAccount: 1};
然后将其推送到您的阵列:
var myArray = [];
myArray.push(myObject);
答案 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;
}
感谢您的回复。