javascript - 如何在javascript中将\"改回"?
问题描述
我是 Node.js 和 MySQL 的初学者,所以请耐心等待。下面的代码在我的本地主机服务器的路由中,最初保存时数据库很好,但是当我尝试通过将旧的存储在新数组中来检索它并将其推回我的数据库时,它会更改“”到 \”\”。我想要的是它仍然是“”。
我尝试在网上寻找将格式化字符串引号从 \"\" 更改回 "" 的方法,但无济于事,我还尝试将分数从字符串格式化回数字,但我意识到即使我这样做了也就是说,当它存储在数据库中时,它仍然会是一个字符串,当我检索它时,它会是一样的。
let { score } = req.body;
let { date } = req.body;
score = Number(score);
var score_date = [score, date];
wMissing.findOne({
raw : true
}).then((missing) => {
var sessionID = missing.testSessionID;
registerPatient.findOne({
where: {
nric : sessionID
},
raw : true
}).then((patient) => {
var height = patient.height;
height = height / 100
var weight = patient.weight;
var bmiVar = (weight / (height * height)).toFixed(2);
// *This is where my problem starts*
if (missing.wMissingScore == null){
var newArray = score_date;
} else {
var newArray = [missing.wMissingScore];
newArray.push(score_date);
}
newArray = JSON.stringify(newArray);
wMissing.update({
bmi: bmiVar,
wMissingScore: newArray,
name: patient.fullname,
nric: sessionID,
datePlayed: date
}, {
where: {
nric: sessionID
}
}).then(() => {
res.redirect('workoutDiets');
}).catch(err => console.log(err));
预期的输出应该是[["2","24/7/2019"],["3","24/7/2019"]]
但相反,我得到["[\"2\",\"24/7/2019\"]",["3","24/7/2019"]]
我仍然不知道有任何方法可以将 \"\" 改回 "" 。谁能帮我改进我的代码?
解决方案
实际上,发生的事情是数组的第一个元素被存储为一个字符串,如果你仔细观察,第二个元素被正确地写为一个字符串数组。
问题是第一个元素,你有一个特殊情况。
如果我理解正确 ´´´missing.wMissingScore´´´ 是一个纯字符串
你可以做的是:
'''
if (missing.wMissingScore == null){
var newArray = score_date;
} else {
var formatedMissingScore= missing.wMissingScore.replace("\"", "").replace("[", "").replace("]", "").split(",");
var newArray = [formatedMissingScore];
newArray.push(score_date);
}
'''
这样,您就可以格式化您的第一个元素字符串,使其不再是文本,并且应该与您想要获取的内容相匹配。
推荐阅读
- python - 如何通过 Selenium-Python 访问“rect”类型的元素
- javascript - 删除所有非字母数字和多个空格
- javascript - 如何获取特定年份之间的 json 数据?
- hyperledger-fabric - 为什么deliverBlocks 因策略评估错误而失败?
- java - JWT - 浏览器的标头中未添加授权
- javascript - 如何将以前的结果存储到var中
- sql-server - 如何在 CASE 语句中使用多个条件
- spring - 两个实体之间存在多对多关系的搜索过滤器的实施建议
- jquery - 单击时显示同级
- bash - 如何提交正确的错误代码来陷阱