[英]How to change data in a json response
我正在獲取帶有以下數據的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,但要更改定界符。
您必須使用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);
使用Array.prototype.map
遍歷數組中的對象。
通過調用String.prototype.split("-")
格式化date
屬性,以使用-
分隔符將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));
你可以嘗試地圖
let response = json.map(doc => doc.date.replace(/-/g, "/"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.