const clone = (data, replacements) =>
data instanceof Object
? data instanceof Array
? data.map(n => clone(replacements?.hasOwnProperty(n) ? replacements[n] : n, replacements))
: Object.fromEntries(Object.entries(data).map(([ k, v ]) => [
k,
clone(replacements?.hasOwnProperty(k) ? replacements[k] : v, replacements)
]))
: data;
const products = arr.map(n => clone(obj.product[0], n));
computed: {
linesCount() {
return 1 + (this.text.match(/\n/g)?.length ?? 0);
},
},
<div>{{ linesCount }}</div>
const date = new Date('2020.06.01').toLocaleString('Ru-ru', {day: 'numeric', month: 'long', year: 'numeric'})
const date = new Date(
'2020.06.01'.replace(/\./g, '-') + 'T00:00:00.000Z'
).toLocaleString(
'Ru-ru', {
day: 'numeric',
month: 'long',
year: 'numeric'
})
moment.locale('ru');
const formatDate = dateStr => moment(dateStr, 'YYYY.MM.DD').format('D MMMM YYYY');
data: () => ({
dateStr: '2020.06.01',
}),
computed: {
formattedDate() {
return formatDate(this.dateStr);
},
},
methods: {
formatDate1: formatDate,
},
filters: {
formatDate2: formatDate,
},
<div>{{ formattedDate }}</div>
<div>{{ formatDate1(dateStr) }}</div>
<div>{{ dateStr | formatDate2 }}</div>
const months_RU = 'Января,Февраля,Марта,Апреля,Мая,Июня,Данунаф,Лень,Дальше,Сами'
.split(',');
const parseDate = d => d.split('.')
.reduce((acc, c, i) => (acc.unshift(i & 1 ? months_RU[+c - 1] : +c), acc), [])
.join(' ');
parseDate('2020.06.01') // "1 Июня 2020"
['2020', '06', '01']
;.unshift()
;i & 1
вернёт 1 только для месяца;-1
.+
[1, 'Июня', 2020]
join(' ')