我试图弄清楚这是否可行,在javascript中
我有一个名为cart的对象数组,其中包含product.quantity,我想在计算中使用cart.length的值,但我仍然得到NaN,即使类型是数字。任何人都可以帮忙。
这是我到目前为止所尝试的:
$scope.getCartTotals = function() {
var totalInCart = 0;
cartCount = $scope.cart.length;
$scope.cart.forEach(function(product) {
totalInCart += cartCount * product.quantity;
});
return totalInCart;
};

<body ng-controller="StoreController">
<div ng-show="cart.length > 0">{{getCartTotals()}}</div>
</body>
&#13;
答案 0 :(得分:3)
您正在添加undefined
,这会产生NaN
。您应该将totalInCart
初始化为0
:
var total = 0,
cartCount = $scope.cart.length,
totalInCart = 0;
答案 1 :(得分:0)
您在此处使用 First select xpath of radio button which you want to select,then use click(), enable it and display by using isEnabled and isDisplayed
,这会为ng-show
的每个值调用方法getCartTotals
。
cart.length
只需通过切换css来隐藏/显示,但ng-show
如果条件为false则不会呈现HTML,因此不执行ng-if
所以你可以使用getCartTotals
或者你可以在ng-if
和getCartTotals
cart.length
方法中进行空/未定义的检查
答案 2 :(得分:0)
实际上我不知道您的购物车对象structure.According
是否提供了有关购物车对象的信息我在plunker中创建了一个演示。所以你可以查看下面的plunker链接
https://plnkr.co/edit/4tYc9UjrzqQXvFJuvW5Y?p=preview
答案 3 :(得分:0)
我找到了答案,那就是我试图完全使用错误的周长进行计算,并且与数组的长度无关,因此整个问题现在无效,感谢所有有用的评论。