我有一个向分区添加分类帐的功能。每次满足条件时,记录都会保存到数组中。 else块保存正确但if块仅保存第二部分。如何将if块中的两个分类帐保存到数组中?
//function that pushes the ledger
.......
for (let i = 0; i < myledger.length; i++) {
if (myledger[i].type === 'test' || myledger[i].type === 'Security'
|| myledger[i].type === 'Books'){
myledger.push(i)
}
if(status === active){
record {
type: "Books",
Fee: 3000
},
record {
type: "Security",
Fee: 1000
},
}
else {
record {
type: "test",
Fee: 10000
}
}
答案 0 :(得分:0)
问题仅在于您的多对象分配。您试图一次添加两个对象,但由于语句错误,第二个与第一个重叠。
尝试使用简单的数组方法。
records = [
{
type: "Books",
Fee: 3000
},
{
type: "Security",
Fee: 1000
}
];
答案 1 :(得分:-1)
我认为问题出在这里:
record {
type: "Books",
Fee: 3000
},
record {
type: "Security",
Fee: 1000
},
我认为你试图将这些记录中的每一个添加到'records'数组中,但是却出现了语法错误。你现在正在做什么看起来更像是定义一个对象属性'record' - 因为你定义了两次,第二个记录属性覆盖了第一个。
相反,你可能想要做这样的事情:
records.push(
{
type: "Books",
Fee: 3000
},
{
type: "Security",
Fee: 1000
}
);
当然,确切的实施取决于您要做的事情。希望这会有所帮助。