我想比较一个对象和一个字符串。为此,我使用JSON。对对象(日期)进行字符串化。我怎样才能只提取值?我可以拼接结果,但我想到了一个更快的解决方案。还有其他可能的方法如何从{"date":"10.09.2021"}
中得到"10.09.2021"
吗?
var graph = {
"nodes": [
{
"id": 1,
"dates": [
{
"date": "10.09.2021"
},
{
"date": "12.10.2021"
}
]
}, {
"id": 2,
"dates": [
{
"date": "20.09.2021"
},
{
"date": "25.09.2021"
}
]
}, {
"id": 3,
"dates": [
{
"date": "07.10.2021"
},
{
"date": "12.10.2021"
}
]
}
]
}
graph.nodes.forEach(element => {
element.dates.forEach(date => {
strDate = JSON.stringify(date)
console.log(strDate) // {"date":"dd.mm.yyyy"}
//how to extract "dd.mm.yyyy" only?
if (strDate === "12.10.2021") {
console.log("true")
}
})
})
在stringify中,您只需要访问在forEach中接收到的日期对象的键。请参阅下面的代码strDate = JSON.stringify(date.date)或strDate = JSON.stringify(date['date'])
你根本不需要使用stringify。就把它当作普通对象。
var graph = {
"nodes": [
{
"id": 1,
"dates": [
{
"date": "10.09.2021"
},
{
"date": "12.10.2021"
}
]
}, {
"id": 2,
"dates": [
{
"date": "20.09.2021"
},
{
"date": "25.09.2021"
}
]
}, {
"id": 3,
"dates": [
{
"date": "07.10.2021"
},
{
"date": "12.10.2021"
}
]
}
]
}
graph.nodes.forEach(element => {
element.dates.forEach(date => {
strDate = date.date;
console.log(date.date) // {"date":"dd.mm.yyyy"}
//how to extract "dd.mm.yyyy" only?
if (strDate === "12.10.2021") {
console.log("true")
}
})
})