Array Map Weight
Map an array for weight and return the total combined weight of all items
by wholypantalones
HTML
<div ng-app="ctrl" ng-controller="mindCtrl">
{{new}} lbs
</div>
JavaScript
angular.module("ctrl", []).controller("mindCtrl", function($scope) {
var cart = {
"cartId": 46,
"cartIdentifier": "MTQ4OTA3NTg5NDEwNS0yNQ==",
"linesCount": 1,
"lineItemsQtyTotal": 1,
"subtotal": 49.39,
"createDate": 1489075894105,
"lastUpdateDate": 1489075894105,
"lastAccessDate": 1489075924694,
"orderNumber": "20170309-1111-769",
"cartExpirationDate": 1496848324694,
"cartConfig": {
"maxUniqueItemsAllowed": 50,
"maxQtyPerItemAllowed": 999,
"maxInactiveDaysAllowed": 90
},
"cartItems": [{
"itemId": 59,
"externalId": "2BCA8CD363297ED2262A1B49427A7F36",
"externalIdLabel": "awsin",
"cwLineCd": "PQP",
"partNumber": "BR900602",
"brandLabel": "Proven Quality",
"partDescription": "BRAKE ROTOR",
"orderQty": 1,
"itemPriceEach": 49.39,
"canBeShipped": true,
"itemWeightEach": 17.9,
"createDate": 1489075894105,
"lastUpdateDate": 1489075894105,
"extendedCost": 49.39
},{
"itemId": 59,
"externalId": "2BCA8CD363297ED2262A1B49427A7F36",
"externalIdLabel": "awsin",
"cwLineCd": "PQP",
"partNumber": "BR900602",
"brandLabel": "Proven Quality",
"partDescription": "BRAKE ROTOR",
"orderQty": 1,
"itemPriceEach": 49.39,
"canBeShipped": true,
"itemWeightEach": 14.9,
"createDate": 1489075894105,
"lastUpdateDate": 1489075894105,
"extendedCost": 49.39
}]
}
var newCart = Array.prototype.map.call(cart.cartItems, function(obj) {
return obj.itemWeightEach;
});
var sum = newCart.reduce((a, b) => a + b, 0);
$scope.new = sum;
});