已关闭此问题为not reproducible or was caused by typos。它目前不接受回答。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
8小时前关闭
Improve this question
经过一点指导,因为我认为我把自己弄糊涂了。)
我有一个对象,下面是一个例子:
{
"_id": "63dd35e801ad6ada9a5eeb08",
"name": "Joe Bloggs",
"technicalCertification": true,
"salesCertification": true,
"salesCertificationExpiry": "2023-12-27T12:02:31.043Z",
"techicalCertificationExpiry": "2024-09-29T12:02:48.254Z"
}
可能有更多的ISO日期格式的字段,所以为了以友好的方式显示它,我试图创建一个函数,例如:
const formatISODate = function (obj, field) {
let day = obj.data[field].split('T')[0].split('-')[2]
let month = obj.data[field].split('T')[0].split('-')[1]
let year = obj.data[field].split('T')[0].split('-')[0]
return `${day} ${month} ${year}`
}
它接受对象和我想要格式化的字段的名称,如formatISODate(obj,'salesCertificationExpiry')
所以我的问题是
1.有没有一个简单的方法来做到这一点(我使它更复杂比它必须)
1.我似乎无法引用字段参数(我得到'obj.data[field].split'不是一个函数),也无法获得具有匹配参数的字段的值。
如果有人能给我指出正确的方向,那就太好了,因为我认为它就在那里。
谢谢你,
杰森
3条答案
按热度按时间5n0oy7gb1#
使用regexp查找year,month和day,并reduce right:
对不同的解决方案进行基准测试:
fykwrbwg2#
可以试试这个用代码复用!!
2nbm6dog3#