Javascript 管理我的数组值

Javascript 管理我的数组值,javascript,angularjs,Javascript,Angularjs,我有这个数组$scope.taxarr,我面临着一些下面提到的值 $scope.taxarr = []; for (var co = 0; co < count_item; co++) { $scope.qty_amt = parseInt($scope.newData1[co].quantity) * parseInt($scope.newData1[co].rate); $scope.tax_val1 = (parseInt($scope.qty_amt) * parseI

我有这个数组
$scope.taxarr
,我面临着一些下面提到的值

$scope.taxarr = [];
for (var co = 0; co < count_item; co++) {

  $scope.qty_amt = parseInt($scope.newData1[co].quantity) * parseInt($scope.newData1[co].rate);

  $scope.tax_val1 = (parseInt($scope.qty_amt) * parseInt($scope.newData1[co].tax_value)) / 100;


  $scope.taxvalue = parseInt($scope.newData1[co].tax_value);
  $scope.taxid = parseInt($scope.newData1[co].tax_name);
  $scope.loop = $scope.taxarr.length;
  if ($scope.loop === 0) {
    $scope.taxarr.push({
      tax_id: $scope.taxid,
      tax_name: $scope.taxvalue,
      tax_amount: $scope.tax_val1
    });
  } else {
    for (var i = 0; i < $scope.loop; i++) {

      if ($scope.taxid === $scope.taxarr[i].tax_id) {
        $scope.taxarr[i].tax_amount = parseInt($scope.taxarr[i].tax_amount) + parseInt($scope.tax_val1);
        break;
      } else {

        $scope.taxarr.push({
          tax_id: $scope.taxid,
          tax_name: $scope.taxvalue,
          tax_amount: $scope.tax_val1
        });
      }
    }
  }
  console.log($scope.taxarr);
}
$scope.taxarr=[];
对于(var co=0;co
我有一个数组,它允许我检查数组对象中的特定id,如果。。。else检查id是否有匹配值的部分它是更新量else push对象作为新记录

我正在使用循环,每次循环都提供不同的数组值,并在if条件下进行比较


我需要一些方法来帮助我直接在数组对象中找到值并返回真/假。我在哪里可以执行我的操作?为什么要重新发明轮子

$scope.$watch(function(){
    return $scope.taxarr;
}, function taxarr_change(newValue, oldValue){
    //do your thing!

}, true)//true is not a must, read in docs
$scope.taxarr=[];
$checkPresent=0;
对于(var co=0;co
首先,您使用的角度错误。其次,如果在数组中有复杂的数组检查和其他调用方法,请考虑使用jQuery的<代码> > $.nAlcime>代码>函数。我使用它,但它的工作与数组和我使用数组对象…也许这个答案将帮助你@Nikunj请不要在问题的标题中添加“帮助我”的电话。这不会使事情变得更好,它最多只能吸引落选的选票是的,因为它是一个数组,所以保留“true”
    $scope.taxarr = [];
    $checkPresent = 0;
    for (var co = 0; co < count_item; co++) {

$scope.qty_amt = parseInt($scope.newData1[co].quantity) * parseInt($scope.newData1[co].rate);
    $scope.tax_val1 = (parseInt($scope.qty_amt) * parseInt($scope.newData1[co].tax_value)) / 100;
    $scope.taxvalue = parseInt($scope.newData1[co].tax_value);
$scope.taxid = parseInt($scope.newData1[co].tax_name);
$scope.loop = $scope.taxarr.length;
if ($scope.loop === 0) {
    $scope.taxarr.push({
    tax_id: $scope.taxid,
    tax_name: $scope.taxvalue,
    tax_amount: $scope.tax_val1
            });
} else {
    for (var i = 0; i < $scope.loop; i++) {
        if ($scope.taxid === $scope.taxarr[i].tax_id) {
        $checkPresent = 1;                       
                    break;
                    } 
             }
    if($checkPresent === 1){
         $scope.taxarr[i].tax_amount = parseInt($scope.taxarr[i].tax_amount) + parseInt($scope.tax_val1);
    }else {
       $scope.taxarr.push({
                    tax_id: $scope.taxid,
                    tax_name: $scope.taxvalue,
                    tax_amount: $scope.tax_val1
               });
            }
     $checkPresent = 0;

      }
      console.log($scope.taxarr);
    }