【发布时间】:2019-09-18 20:12:23
【问题描述】:
在 angularjs 中,我使用一种方法调用不同的方法,有时它以数组形式获取值,而从另一个地方它获取不在数组中的简单值。
我的方法是:
function fillReviewObject() {
angular.forEach(vm.surveyQuestion, function (value, key) {
value.CommentTypes = value.CommentTypes.join(',');
});
}
值是对象我从“值”对象中获取“评论类型”的值。当我以数组格式传递值时,
CommentTypes Array(1)[2]
长度为 1 且值为“2”的注释类型数组。它在我的代码中运行良好。
但是当我以这种方式传递 Value 对象时,
CommentTypes = 2
这里不是数组格式,给我类型错误。
希望您的建议!
【问题讨论】:
-
只能对数组使用
join方法,否则该函数不存在。在使用join函数之前尝试检查该值是否为数组,可能是这样的:value.CommentTypes = Array.isArray(value.CommentTypes) ? value.CommentTypes.join(',') : value.CommentTypes; -
Michal 我正在尝试这样做,但我无法通过检查它是否为数组来解决它。所以我做了另一种我不愿意做的方法:(
-
为什么需要做另一个功能?不能用
Array.isArray()函数吗? -
迈克尔感谢它有效!
-
很高兴听到这个消息!我在下面添加了它作为答案。
标签: arrays angularjs angular model-view-controller typeerror