【发布时间】:2022-01-06 11:27:31
【问题描述】:
检查标头对象类型检查是否类型 == 日期然后对于该属性只需要添加日期格式。 在 headers 对象中查找类型,如果 header 对象类型是日期,则返回最终结果将是格式日期
标题对象:
let headers = [
{
key_name: 'trans_id',
header_value: 'Transaction ID' ,type:'number'
},
{
key_name: 'start_date',
header_value: 'Start Date' ,type:'date'
}
]
结果对象:
let results = [
{
trans_id: '2019124453159',
start_date:'2021-12-27T00:00:00.000Z',
code: '$'
},
{
trans_id: '2019120534555',
start_date:'2021-12-27T00:00:00.000Z',
code: 'INR'
}
]
标题类型检查并格式化日期。 预期结果是:
let results = [
{
Transaction ID: '2019124453159',
Start Date : '2021-12-27'
},
{
Transaction ID: '2019120534555',
Start Date : '2021-12-27'
}
]
我尝试使用以下脚本返回没有格式化日期:
let headers = [{
key_name: 'trans_id',
header_value: 'Transaction ID',
type: 'number'
},
{
key_name: 'start_date',
header_value: 'Start Date',
type: 'date'
}
]
let results = [{
trans_id: '2019124453159',
start_date: '2021-12-27T00:00:00.000Z',
code: '$'
},
{
trans_id: '2019120534555',
start_date: '2021-12-27T00:00:00.000Z',
code: 'INR'
}
]
const mappedHeaders = results.map((r) => {
const keys = Object.keys(r);
let newObj = {};
for (const key of keys) {
const newHeader = headers.find((h) => h.key_name === key);
if (newHeader) newObj[newHeader.header_value] = r[key];
}
return newObj;
});
console.log(mappedHeaders)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
【问题讨论】:
标签: javascript object