Filter Strings Trim 2 decimals

Take an array and filter rates, string values out so that toFixed() truncates float values to two decimals.

by Jia Nelson

JavaScript

function formatShipModes(modes) {
  return modes.map(function (mode) {
    var transformedRate = 0.00;
    if(mode.rate && mode.rate !== '0.00'){
      transformedRate = mode.rate.toFixed(2);
    }
    return {
      id: mode.id,
      label: (mode.rate == '0.00') 
      			 ? mode.description 
      			 : mode.description + ' ' + '$' + transformedRate,
      value: mode.carrierCode
    }
  });
}

var orderItems =  [
	{
		shipChargesByShipMode: [
		{rate: 1.5,
		 carrierCode: "INSTALL",
		 id: "13202",
		description: "Dealer Installation "
		},
		{rate: 9.76,
		 carrierCode: "FEDEX",
		 id: "13204",
		description: "FedEx - 2nd Day (2 Bus. Days)"
		},
		{ rate: 3.67,
			carrierCode: "FEDEX",
			id: "13203",
			description: "FedEx - Ground (5-7 Bus. Days)"
		},
		{ rate: "0.00",
			carrierCode: "PICKUP",
			id: "13201",
			description: "Pickup at Dealer - No Additional cost"
		},
		{ rate: 13.73,
			carrierCode: "FEDEX",
			id: "13205",
			description: "FedEx - Overnight (1 bus. Day)"
		}
	],
	orderItemId: "1870148"
	}
]; 

var  shipping = formatShipModes(orderItems[0].shipChargesByShipMode);
console.log( "shipping", shipping );








/*
function numberTest(){
	mode = { id:5, description: "number test", rate: 5.0, carrierCode: "VU"}
  if(mode.rate){
  	transformedRate = mode.rate.toFixed(2);
  }
  return {
		id: mode.id,
	  label: (mode.rate == '0.00') ? mode.description 
    														  : mode.description + ' ' + '$' + transformedRate ,
	  value: mode.carrierCode
	}
}
*/