我的问题是长度被作为for循环中的属性读取。我在数组中有四个选择,但是长度将排在第五位,并且将被读取为未定义。知道为什么要增加长度吗?

if($scope.ansType==='CHECKBOX') {
  for(var i = 0; $scope.items.length > 0; i++) {
    console.log($scope.items[i]);
    if ($scope.items[i].exclusive === true) {
      $timeout(function () {
        $('input').addClass('none-of-the-above');
        $('.none-of-the-above').on('click', function () {
          $(this).attr('checked');
          $('input:checkbox').removeAttr('checked');
        });
      },100);
    }
  }
}

最佳答案

您永远不会从数组中删除项目,这就是为什么索引超出范围的原因。
试试这个
    for(i = 0; i < $scope.items.length; i++){...}

10-05 21:09
查看更多