Как оформатировать вывод свойств объекта?

const filterData = [
  {
    cardNum: '1234567890123456',
    cardStatus: '+',
    validTill: '11/20',
    product: 'VISA'
  },
  {
    cardNum: '4234567890123456',
    cardStatus: 'X',
    validTill: '12/21',
    product: 'MAESTRO'
  }
]


Необходимо вывести в виде
[ { product: 'VISA',
maskedNum: '1234 ****** 3456',
validDate: 2020-11-30T21:00:00.000Z },
{ product: 'MAESTRO',
maskedNum: '4234 ****** 3456',
validDate: 2021-12-31T21:00:00.000Z } ]

где validDate: объект даты, соответствующий последнему дню заданного месяца.

И я правильно понимаю. что порядок свойств объекта будет меняться и его нельзя фиксировано задать?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
hzzzzl
@hzzzzl
filterData.map(c => {
  const [m, y] = c.validTill.split('/')
  const date = new Date(2000 + Number(y), m, 1, 23)  // придется переписать в 22м веке :(
  date.setDate(date.getDate() - 1)
  return {
    product: c.product,
    maskedNum: c.cardNum.slice(0, 4) + ' ****** ' + c.cardNum.slice(-4),
    validDate: date.toISOString()
  }
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы