Arrays 未捕获类型错误:value.CommentTypes.join不是函数
在angularjs中,我使用了一种不同的方法调用,有时它以数组形式获取值,而从另一个地方获取的值不在数组中 我的方法是:Arrays 未捕获类型错误:value.CommentTypes.join不是函数,arrays,angularjs,angular,model-view-controller,typeerror,Arrays,Angularjs,Angular,Model View Controller,Typeerror,在angularjs中,我使用了一种不同的方法调用,有时它以数组形式获取值,而从另一个地方获取的值不在数组中 我的方法是: function fillReviewObject() { angular.forEach(vm.surveyQuestion, function (value, key) { value.CommentTypes = value.CommentTypes.join(','); }); } 值是对象我从“值”对象中获取“CommentTyp
function fillReviewObject() {
angular.forEach(vm.surveyQuestion, function (value, key) {
value.CommentTypes = value.CommentTypes.join(',');
});
}
值是对象我从“值”对象中获取“CommentType”的值。当我以数组格式传递值时
CommentTypes Array(1)[2]
长度为1且值为“2”的Commenttype数组。它在我的代码中运行良好
但当我以这种方式传递值对象时
CommentTypes = 2
这里它不是数组格式,给我类型错误
希望得到您的建议!您只能在数组上使用join方法,否则,该函数不存在。在使用join函数之前,请尝试检查该值是否为数组,可能类似于:
value.CommentTypes=array.isArray(value.CommentTypes)?value.CommentTypes.join(',')):value.CommentTypes;
您只能在数组上使用join
方法,否则,该函数不存在。在使用join
函数之前,请尝试检查该值是否为数组,可能类似于:value.CommentTypes=array.isArray(value.CommentTypes)?value.CommentTypes.join(',')):value.CommentTypes;
Michal我正在尝试这样做,但我无法通过检查是否为数组来解决它。因此我提出了另一个我不愿意做的方法:(为什么需要执行另一个函数?不能使用array.isArray()
function?Michael,谢谢你,它很管用!很高兴听到这个消息!我在下面添加了它作为答案。