如何从含date属性的对象中提取纯日期值,无需拆分JSON.stringify结果
解决方案
你完全不需要调用JSON.stringify做序列化,当前遍历拿到的date本身就是带有date属性的普通JS对象,直接通过属性访问就能拿到纯日期字符串,这是性能最高、最简洁的实现方案。
修正后的代码
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 => { // 直接访问date属性获取纯日期字符串 const strDate = date.date console.log(strDate) // 输出为 dd.mm.yyyy 格式的纯值 if (strDate === "12.10.2021") { console.log("true") } }) })
扩展:属性名不确定的通用方案
如果遇到对象属性名不固定,没法直接写属性名访问的场景,可以用Object.values()获取对象所有属性值的数组,直接取第一个元素即可:
const strDate = Object.values(date)[0]
内容的提问来源于stack exchange,提问作者ICoded
相关产品推荐
相关产品推荐

