Uncaught TypeError: value.CommentTypes.join не является функцией Angular - PullRequest
0 голосов
/ 30 апреля 2019

В angularjs я использую один метод, вызывающий по-разному, иногда он получает значение в виде массива, а из другого места получает простое значение, а не в массиве.

Мой метод:

function fillReviewObject() {
    angular.forEach(vm.surveyQuestion, function (value, key) {
        value.CommentTypes = value.CommentTypes.join(',');
    });
}

Значение - это объект. Я беру значение «CommentType» из объекта «Значение». Когда я передаю значение в формате массива, например,

CommentTypes Array(1)[2] 

Массив типа комментария длиной 1, имеющий значение '2'. Он отлично работает в моем коде.

Но когда я передаю объект Value таким образом,

CommentTypes = 2

Здесь это не в формате массива и дает мне ошибку типа.

Надежды на ваши предложения!

1 Ответ

1 голос
/ 30 апреля 2019

Вы можете использовать метод join только для массивов, в противном случае функция не существует. Попробуйте проверить, является ли значение массивом, прежде чем использовать функцию соединения, может быть что-то вроде этого: value.CommentTypes = Array.isArray(value.CommentTypes) ? value.CommentTypes.join(',') : value.CommentTypes;

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