【发布时间】:2017-07-15 18:04:53
【问题描述】:
我需要一个员工的自定义对象,所以我在 staff.js 中有这个:
function Staff(name, shouldBeRemoved, officeName, dateHired) {
this.name = name;
this.shouldBeRemoved = shouldBeRemoved;
this.officeName = officeName;
this.dateHired = dateHired;
}
我在 office.js 中还有一个 Office 的自定义对象:
function Office(name, shouldBeRemoved, staffMembers) {
this.name = name;
this.shouldBeRemoved = shouldBeRemoved;
this.staffMembers = staffMembers;
}
我想使用 staffMembers 属性作为 Office 中的一个 Staff 对象数组。
但是当我尝试将一个新的人员对象推送到我的 Office 对象中的人员成员数组中时,什么也没有发生:
staff = new Staff(name, false, officeSelected, d.toDateString());
for (i=0; i<officeArray.length; i++) {
if (officeArray[i].name == officeSelected) {
officeArray[i].staffMembers.push(staff);
}
}
【问题讨论】:
-
“什么都没有发生”是什么意思?
-
officeArray[i].staffMembers.push(staff);行没有运行。没有任何东西追随它。如果我在那之后尝试打开一个警报窗口,它就不会打开。 -
你有 js fiddle 吗?你的控制台说什么?您是否遇到错误或 staffMembers 为空?
-
不,我从未使用过 js fiddle,我会尝试的。我认为 staffMembers 只是空的。让我看看我能不能找到。 (抱歉,我对 javascript 有点陌生)
-
是否报告了错误?
Office实例的构造是什么样的;你确定staffMembers正在初始化为一个新的空数组吗?
标签: javascript arrays custom-object custom-data-type