Advertisement
Guest User

cloudManager

a guest
Nov 21st, 2014
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. function cloudManager(input) { debugger;
  2. var result = {};
  3.  
  4. for (var i = 0; i < input.length; i++) {
  5. var line = input[i].split(' ');
  6. var name = line[0];
  7. var extension = line[1];
  8.  
  9. var memory1 = parseFloat(line[2]);
  10. if (!(extension in result)) {
  11. result[extension] = {names: [], memory: []};
  12. }
  13. if (result[extension].names.indexOf(name) == -1) {
  14. result[extension].names.push(name);
  15. }
  16.  
  17. result[extension].memory.push(memory1);
  18. }
  19. var output = {};
  20. var sortedExtensions = Object.keys(result).sort();
  21. for (var e in sortedExtensions) {
  22. var fileType = sortedExtensions[e];
  23. var fileInfo = {
  24. files: result[extension].names.sort(),
  25. memory: totalMemory(result[extension].memory)
  26. }
  27. output[fileType] = fileInfo;
  28.  
  29. }
  30. function totalMemory(arr) {
  31. var sum = 0;
  32. for (var i in arr) {
  33. sum += arr[i];
  34. }
  35. return sum.toFixed(2);
  36.  
  37. }
  38. console.log(JSON.stringify(output));
  39. }
  40. cloudManager(['sentinel .exe 15MB',
  41. 'zoomIt .msi 3MB',
  42. 'skype .exe 45MB',
  43. 'trojanStopper .bat 23MB',
  44. 'kindleInstaller .exe 120MB',
  45. 'setup .msi 33.4MB',
  46. 'winBlock .bat 1MB'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement