Javascript 带有插入新项的计数类别项算法
下面的代码用于检索每个类别的总数,其中我有4个。我通过循环计算所有现有类别的长度,然后使用switch收集所有类别。它起作用了,我给了我a=3,b=2,c=10和d=20 但当我在插入新值时运行此函数时,它不起作用。例如,插入新对象时,函数会重新计算并给出错误的值 这是我写的Javascript 带有插入新项的计数类别项算法,javascript,angularjs,Javascript,Angularjs,下面的代码用于检索每个类别的总数,其中我有4个。我通过循环计算所有现有类别的长度,然后使用switch收集所有类别。它起作用了,我给了我a=3,b=2,c=10和d=20 但当我在插入新值时运行此函数时,它不起作用。例如,插入新对象时,函数会重新计算并给出错误的值 这是我写的 $scope.countNote = 0; $scope.countQuote = 0; $scope.countProject = 0;
$scope.countNote = 0;
$scope.countQuote = 0;
$scope.countProject = 0;
$scope.countSkill = 0;
$scope.countState = function () {
for (var i = 0; i < $scope.postItem.length; i++) {
$loopObj = $scope.postItem[i].category_id;
switch ($loopObj) {
case '1':
$scope.countNote++;
break;
case '2':
$scope.countQuote++;
break;
case '3':
$scope.countProject++;
break;
case '4':
$scope.countSkill++;
break;
}
}
}
$scope.countNote=0;
$scope.countQuote=0;
$scope.countProject=0;
$scope.countSkill=0;
$scope.countState=函数(){
对于(变量i=0;i<$scope.positem.length;i++){
$loopObj=$scope.positem[i].category\u id;
交换机($loopObj){
案例“1”:
$scope.countNote++;
打破
案例“2”:
$scope.countQuote++;
打破
案例“3”:
$scope.countProject++;
打破
案例“4”:
$scope.countSkill++;
打破
}
}
}
在函数中移动初始值设定项,并在每次按下后调用它
$scope.countState = function () {
$scope.countNote = 0;
$scope.countQuote = 0;
$scope.countProject = 0;
$scope.countSkill = 0;
for (var i = 0; i < $scope.postItem.length; i++) {
$loopObj = $scope.postItem[i].category_id;
switch ($loopObj) {
case '1':
$scope.countNote++;
break;
case '2':
$scope.countQuote++;
break;
case '3':
$scope.countProject++;
break;
case '4':
$scope.countSkill++;
break;
}
}
}
$scope.countState=函数(){
$scope.countNote=0;
$scope.countQuote=0;
$scope.countProject=0;
$scope.countSkill=0;
对于(变量i=0;i<$scope.positem.length;i++){
$loopObj=$scope.positem[i].category\u id;
交换机($loopObj){
案例“1”:
$scope.countNote++;
打破
案例“2”:
$scope.countQuote++;
打破
案例“3”:
$scope.countProject++;
打破
案例“4”:
$scope.countSkill++;
打破
}
}
}
如何添加新值?@Sarath I console.log($post.item)。。我使用push with for front endyes,因此每次按下后,需要使用调用countState初始化计数function@Sarath试过了,没用..逻辑很好,我也这么做了,但是值没有立即更新,可能是范围问题?我发现了问题。这是因为我在循环中使用的数据需要从后端加载,这就是数字没有更新的原因。所以我运行onload来获取数据和计数。但这是沉重和缓慢的,我正在寻找方法来做整个前端。