@asferot

Как вытащить объект из массива?

Есть массив products, в котором product.price, мне его и нужно вытащить оттуда, чтобы преобразовать в денежный формат. Как его можно вытащить?
Делал вот это, но не работает, видимо не правильно)
computed:{
priceProduct(){
            var prc = this.products.reduce((product) => parseFloat(product.price), 0);
            return parseFloat(prc).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1 ").replace('.', ',');
        },
}
  • Вопрос задан
  • 698 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Вместо computed свойства сделайте фильтр:

filters: {
  price: val => val.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1 ").replace('.', ','),
},

Соответственно, в шаблоне будет:

td {{ product.price | price }}

UPD. Кстати, раз уж вы выводите цены - можно вместо плясок с регулярными выражениями форматировать значение средствами функции toLocaleString, она умеет работать с деньгами, будет как-то так:

price: val => val.toLocaleString('ru', {
  style: 'currency',
  currency: 'RUB',
}),
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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