我正在获取带有以下数据的jsonResponse:
[
{
"date":"2019-02-15",
"value":"5456"
},
{
"date":"2019-02-15",
"value":"5456"
},
{
"date":"2019-02-15",
"value":"5456"
},
{
"date":"2019-02-15",
"value":"-5456"
}
]
我需要将日期中的定界符从“-”更改为“ /”。我需要这样的日期:2019/03/14
我试图这样更改它们:
json.replace(/-/g, "/");
,它可以工作,但是有问题。如果由于某种原因,值数据为负-524。减号也会改变。
有什么方法可以更改定界符而不影响其他数据?
我需要保留jsonResponse,但要更改定界符。
答案 0 :(得分:2)
您必须使用Array.prototype.map遍历数组并更改date
:
const response = [
{
date: "2019-02-15",
value: "5456"
},
{
date: "2019-02-15",
value: "5456"
},
{
date: "2019-02-15",
value: "5456"
},
{
date: "2019-02-15",
value: "-5456"
}
];
const result = response.map(obj => ({ ...obj, date: obj.date.replace(/-/g, "/") }));
console.log(result);
答案 1 :(得分:1)
使用Array.prototype.map
遍历数组中的对象。
通过调用date
使用String.prototype.split("-")
分隔符将date
字符串拆分为数组来格式化-
属性。
然后通过调用/
使用Array.prtotype.join("/")
来加入数组:
const data = [
{
"date":"2019-02-15",
"value":"5456"
},
{
"date":"2019-02-15",
"value":"5456"
},
{
"date":"2019-02-15",
"value":"5456"
},
{
"date":"2019-02-15",
"value":"-5456"
}
];
//This function does not modify the original object or the array
function formatDate(){
return data.map(o => ({...o, date: o.date.split("-").join("/")}));
}
console.log(formatDate(data));
答案 2 :(得分:0)
您可以尝试地图
let response = json.map(doc => doc.date.replace(/-/g, "/"))