function displayDestinations(destinations) { if ( !(destinations instanceof Map) || destinations == null || destinations == undefined || destinations.size === 0 ) { console.log("No destination is available."); } else { destinations.forEach((v, k) => { console.log(k + ": " + v); }); } } function addDestination(destinations, name, cost) { if ( typeof name != "string" || typeof cost != "number" || cost < 0 || destinations.has(name) ) { return false; } destinations.set(name, cost); return true; } function removeDestination(destinations, name) { if (typeof name != "string" || !destinations.has(name)) { return false; } else { destinations.delete(name); return true; } } function getDestinationsInOrder(destinations) { const res = new Array(); destinations.forEach((v, k) => res.push([v, k])); return res.sort((vkp1, vkp2) => vkp1[0] - vkp2[0]).map((vkp) => vkp[1]); } module.exports = { displayDestinations, addDestination, removeDestination, getDestinationsInOrder, };