Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 未捕获类型错误:value.CommentTypes.join不是函数_Arrays_Angularjs_Angular_Model View Controller_Typeerror - Fatal编程技术网

Arrays 未捕获类型错误:value.CommentTypes.join不是函数

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

在angularjs中,我使用了一种不同的方法调用,有时它以数组形式获取值,而从另一个地方获取的值不在数组中

我的方法是:

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,谢谢你,它很管用!很高兴听到这个消息!我在下面添加了它作为答案。