我如何设置从Javascript对象中删除属性的条件?
如果计数器!== maxCount,我试图删除level_6,但是它同时在“ if”和“ else”上都删除了level_6。
let maxCount = 5;
let counter = 1;
thisbinations = {
level_1: [ [0] ],
level_2: [ [0] ],
level_3: [ [0] ],
level_4: [ [0] ],
level_5: [ [0] ],
level_6: [ [0] ]
};
app.post("/get-level", CSRFHeaderSecurity.Init, (req, res) => {
let level = req.body.level;
if (level === 1) {
if (counter === maxCount) {
counter = 1;
} else {
counter++;
}
storage.setItem("counter", counter).then(() => {
console.log(counter);
});
}
if (counter === maxCount) {
res.send(
JSON.stringify({
level: thisbinations[`level_${level}`]
})
);
} else {
delete thisbinations.level_6;
res.send(
JSON.stringify({
level: thisbinations[`level_${level}`]
})
);
}
});
如果计数器等于5,我希望获得5个组合/级别,但是如果计数器不等于5,我希望组合/级别保持6
回答如下:您的逻辑有问题。如果计数器达到maxCount
的值,则在level_1上删除level_6获取。此代码块是罪魁祸首:
if (level === 1) {
if (counter === maxCount) {
counter = 1;
} else {
counter++;
}
我如何设置从Javascript对象中删除属性的条件?
如果计数器!== maxCount,我试图删除level_6,但是它同时在“ if”和“ else”上都删除了level_6。
let maxCount = 5;
let counter = 1;
thisbinations = {
level_1: [ [0] ],
level_2: [ [0] ],
level_3: [ [0] ],
level_4: [ [0] ],
level_5: [ [0] ],
level_6: [ [0] ]
};
app.post("/get-level", CSRFHeaderSecurity.Init, (req, res) => {
let level = req.body.level;
if (level === 1) {
if (counter === maxCount) {
counter = 1;
} else {
counter++;
}
storage.setItem("counter", counter).then(() => {
console.log(counter);
});
}
if (counter === maxCount) {
res.send(
JSON.stringify({
level: thisbinations[`level_${level}`]
})
);
} else {
delete thisbinations.level_6;
res.send(
JSON.stringify({
level: thisbinations[`level_${level}`]
})
);
}
});
如果计数器等于5,我希望获得5个组合/级别,但是如果计数器不等于5,我希望组合/级别保持6
回答如下:您的逻辑有问题。如果计数器达到maxCount
的值,则在level_1上删除level_6获取。此代码块是罪魁祸首:
if (level === 1) {
if (counter === maxCount) {
counter = 1;
} else {
counter++;
}