[英]How is it possible to add an array argument to a constructor for an object, thus to give each object its own array?
是否可以有一个对象构造函数,其中每个对象都有自己的数组?
如果是这样,我很难弄清楚语法。
现在,我正在创建对象和一个单独的数组,以共同放置object(waiters)数组。
function Waiter (name, orders[]) {
this.name = name;
this.orders = orders;
}
// Constructor for waiter object
function Waiter (name) {
this.name = name;
}
// Waiter objects
var waiterOne = new Waiter('Timo');
var waiterTwo = new Waiter('Lucian');
var waiterThree = new Waiter('Arpi');
// Array to store waiter object
var waiters = [
waiterOne,
waiterTwo,
waiterThree
];
// Count so that the same number of arrays are create as waiters
var countWaiterOrders = waiters.length;
// Creating a order array for each waiter object
for(var i = 0; i <= countWaiterOrders; i++){
var order = [i];
}
出现错误:
未捕获到的SyntaxError:意外令牌[
是我在尝试将数组传递给构造函数时收到的错误消息。
期望的结果将是每个Waiter对象都有其自己的订单数组。
例如:
console.log(waiters[0]);
Waiter {name: "Timo", orders: []}
愚蠢的问题是,您将值分配给空数组而不是参数时,我只是停留了一段时间。
//侍者构造函数
function Waiter (name, order) {
this.name = name;
this.order = [];
}
如果我缺少某些内容,请更正我,但似乎您可以使用以下内容:
class Waiter {
constructor(name) {
this.name = name
this.orders = []
}
}
您在这里所做的是创建一个类Waiter
,并将name
作为变量传递给该类。
您可以像这样创建一个Waiter
: var waiterOne = new Waiter('Tim')
。
然后,这将允许您使用waiterOne.name
或waiterOne.orders
,因为在类的构造函数中创建了订单数组。
如果要将所有侍者存储在数组中,好的方法可能是创建一个名为Waiters
的集合类-如果您想对整个Waiters集合进行某些操作,这可能会很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.