我使用switch case进行语音识别,这是代码:
for
但是,我希望在一种情况下使用//
作为循环,因为您可以看到我已经将其作为命令,但是当我删除for (var i = 1; i < $scope.filteredItems.length; i++){
case 'chat with friend number ' + i:
$scope.chatWith(friend.userid , friend.nama);
break;
}
时,它在我的应用程序中无效。我可以在开关盒内使用for loop吗?
我使用循环是这样的:
i
所以,在我使用i
循环的情况下。它已经很详细了吗?
修改
我将使用'chat with friend number ' + i:
i < $scope.filteredItems.length
是朋友列表中索引的长度,并且所有用户都有不同数量的朋友,所以我不能输入确切的数字,如5或6 ,我必须使用{{1}}作为朋友的总数。
答案 0 :(得分:1)
基于评论,您试图在循环内创建无法正常工作的动态切换案例。
你可以做的是从switch
中删除整个场景:
if (result && result.indexOf('chat with friend number') > -1) {
// do what is needed for this case with your loop
} else {
switch (result) {
// all the other cases shown
}
}
答案 1 :(得分:0)
您可以尝试这样的事情:
switch(result){
case:
.
.
.
case default:
var text = "chat with friend number";
// Search if result is of type "chat with friend number" and find friend number.
var friend_no = result.indexOf(text)>-1?parseInt(result.replace(text,'')):-1
if(friend_no>-1){
// do your stuff
}
}
注意:上面将首先评估所有案例。如果这个概率太高,你应该尝试@ charlietfl的方法。