AngularJS JavaScript for for warning警告,最多运行一次

时间:2017-01-30 21:20:22

标签: javascript angularjs webstorm

为什么WebStorm警告我,我的for循环最多只运行一次?

if (data[i].name) {
    for (var j = 0; j < data[i].name.length; j++) {
        hobby = $scope.users[data[i].name].hobby;
        sport = $scope.users[data[i].name].sport;
        education = $scope.users[data[i].name].education;
        break;
    }
}

问题出在哪里?我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

正如评论中所提到的,循环最多只执行一次,因为你在第一次迭代后执行break

但是,从查看代码开始,您可能根本不需要循环。看起来您要做的就是检查是否设置了字符串data[i].name,如果是,请根据该属性检索一些属性,对吗?

如果是这样,请删除循环,因为它对发布的代码段没有任何贡献:

if (data[i].name) {
    hobby = $scope.users[data[i].name].hobby;
    sport = $scope.users[data[i].name].sport;
    education = $scope.users[data[i].name].education;
}

假设data[i].name是一个字符串,data[i].name.length只会给你字符串的长度。