Используйте Split в Vue JS внутри цикла - PullRequest
0 голосов
/ 27 августа 2018

У меня есть данные вызова API от DB, в одном столбце хранится имя файла изображения. Я хочу разделить файл и получить последние 3 буквы каждого имени файла после точки. Я застрял здесь:

     axios.get('/api/v1/chats/messages/' + this.chat).then(response => {

                this.result = response.data;
                this.details = this.result.data;

                for (var j = 0; j < this.details.length; j++) {
                    this.str = this.details[j].image;
                    this.details[j].image_type = this.str.split(".");
                }
                console.log(this.details)
            })
                .catch(error => {

                    toastr.error('Something went wrong', 'Error', {
                        positionClass: 'toast-bottom-right'
                    });

                    this.cancelAutoUpdate();
                });

Буду очень признателен, если кто-нибудь сможет мне помочь ИЛИ, пожалуйста, дайте мне знать, есть ли другой способ получить расширение файла в vue js. Спасибо :)

1 Ответ

0 голосов
/ 27 августа 2018

функция split разбивает строку в массив с помощью разделителя.Вы получили массив, но забыли получить интересующий вас элемент массива.

Вам необходимо заменить this.str.split("."); на this.str.split(".")[1]

const details = [
  {
    image: 'image1.jpg',
  },
  {
    image: 'image2.png',
  },
  {
    image: 'image3.gif',
  }
]

for (let detail of details) {
  let str = detail.image;
  detail.image_type = str.split(".")[1];
}

console.log(details)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...