JSFiddle - React, Tailwind, and code Playground

by Heena Mahour

JavaScript

var fxMapping={'EUR':1.1388,'GBP':1.4373};
var dealData=[{'NoOfDeals':33,'GAV':13225634399.00000000,'Equity':0.00000000,'Currency':'EUR'},{'NoOfDeals':14,'GAV':7220525668.00000000,'Equity':81106000.00000000,'Currency':'GBP'}];

var DealData = getUSDEquivalent(dealData, fxMapping, ["GAV", "Equity"], "", "", "Currency", ["NoOfDeals"]);




function getUSDEquivalent(data, fxMapping, measure, group, childgroup, currencyParam, others) {
debugger;
    var _measure = measure; //measure in array
    var finalData = [];

    var _final = {};

    for (var _temp = 0; _temp < _measure.length; _temp++) {

        var keyName;
        for (var _i = 0; _i < data.length; _i++) {

            keyName = _measure[_temp]

            if (childgroup.length > 0) {
                if (data[_i][childgroup] == null) {
                    keyName += "NULL"
                }
                else {
                    keyName += data[_i][childgroup]
                }
            }


            data[_i][_measure[_temp]] = (data[_i][_measure[_temp]] == null) ? 0 : data[_i][_measure[_temp]]

            if (group.length > 0) {
                if (data[_i][group] == null) {
                    keyName += "NULL"
                } else {
                    keyName += data[_i][group]
                }
            }

            //keyName = ((data[_i][group]) ? "NULL" : data[_i][group]) + _measure[_temp]
            if (_final.hasOwnProperty(keyName) == false) {

                _final[keyName] = 0;
                _final[keyName + "visited"] = false;
                _final[keyName + "currencies"] = [];
            }
            _final[keyName + "currencies"].push(data[_i][currencyParam] ? data[_i][currencyParam] : "Null")
            if (fxMapping.hasOwnProperty(data[_i][currencyParam]) == true) {

                _final[keyName] += fxMapping[data[_i][currencyParam]] * data[_i][_measure[_temp]];

            } else {
                _final[keyName] += data[_i][_measure[_temp]];
            }
  ...