Angular: Empty Fiddle
http://angularjs.org/
HTML
<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<div ng-controller="MyCtrl">
Subtot:
{{subtotal}}
</div>
JavaScript
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function($scope){
$scope.item = [
{fieldName: "fname1", value: 2},
{fieldName: "fname2", value: 5},
{fieldName: "fname3", value: 4},
{fieldName: "fname4", value: 6},
{fieldName: "fname5", value: 3},
{fieldName: "subTotal1", expression: "['fname1'] + ['fname2'] +['fname3'] +['fname4'] +['fname5'] +"}
]
var subtotal=0;
var subTotalPropertyValue = "subTotal1";
var subTotalProperty = $scope.item.filter(function(o){
if(o.fieldName == subTotalPropertyValue)
return o;
});
if(subTotalProperty.length>0){
var expressionArray = subTotalProperty[0].expression.replace(/\s/g,"").split('+');
var formattedArray={};
$scope.item.map(function(v,o){
formattedArray[v.fieldName]=v.value;
return v;
});
for(var i=0;i<expressionArray.length;i++){
if(expressionArray[i]!=""){
var property= expressionArray[i].replace('[','').replace(']','').replace("'","").replace("'","");
var value = formattedArray[property];
subtotal += value;
}
}
$scope.subtotal=subtotal;
}
})