You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

more_exercises.js 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. function isAbecedarian(str) {
  2. for (let i = 0; i < str.length - 1; i++) {
  3. if (str[i] < str[i + 1]) {
  4. return true;
  5. } else {
  6. return false;
  7. }
  8. }
  9. }
  10. function isDoubloon(input) {
  11. let str = input.toLowerCase();
  12. let arr = [];
  13. for (let i = 0; i < str.length; i++) {
  14. let index = str.charCodeAt(i);
  15. if (arr[index] === undefined) {
  16. arr[index] = 1;
  17. } else {
  18. arr[index]++;
  19. }
  20. }
  21. for (let i = 0; i < arr.length; i++) {
  22. if (arr[i] !== undefined && arr[i] !== 2) {
  23. return false;
  24. }
  25. }
  26. return true;
  27. }
  28. function isDoubloon2(word) {
  29. word = word.toLowerCase();
  30. for (let i = 0; i < word.length; i++) {
  31. let testCharOuter = word[i];
  32. console.log(testCharOuter);
  33. let count = 0;
  34. for (let j = 0; j < word.length; j++) {
  35. let testCharInner = word[j];
  36. console.log('--' + testCharInner);
  37. if (word[i] === word[j]) {
  38. count++;
  39. }
  40. }
  41. if (count !== 2) {
  42. return false;
  43. }
  44. }
  45. return true;
  46. }
  47. function canSpell(word, tiles) {
  48. tiles = tiles.split('');
  49. for (let i = 0; i < word.length; i++) {
  50. let testChar = word[i];
  51. let index = tiles.indexOf(testChar);
  52. if (index < 0) {
  53. return false;
  54. }
  55. tiles[index] = null;
  56. }
  57. return true;
  58. }
  59. function isPalindrome(input) {
  60. const regex = /[\W_]/g;
  61. input = input.toLowerCase().replace(regex, '');
  62. if (input === input.split('').reverse().join('')) {
  63. return true;
  64. }
  65. return false;
  66. }
  67. function isPalindrome2(input) {
  68. const regex = /[\W_]/g;
  69. input = input.toLowercase().replace(regex, '');
  70. }
  71. function customLowerCase(input) {
  72. let output = '';
  73. for (let i = 0; i < input.length; i++) {
  74. let charCode = input.charCodeAt(i);
  75. if (charCode >= 65 && charCode <= 90) {
  76. output += String.fromCharCode(charCode + 32);
  77. } else {
  78. output += String.fromCharCode(charCode);
  79. }
  80. }
  81. return output;
  82. }
  83. function isPrime(num) {
  84. for (let i = 2; i < num; i++)
  85. if (num % i === 0) {
  86. return false;
  87. }
  88. return num > 1;
  89. }
  90. function getPrimes(n) {
  91. let sieve = [];
  92. for (let i = 1; i <= n; i++) {
  93. sieve.push(true);
  94. }
  95. for (let i = 2; i <= n; i++) {
  96. if (sieve[i]) {
  97. for (let j = i * 2; j <= n; j += i) {
  98. sieve[j] = false;
  99. }
  100. }
  101. }
  102. let primes = [];
  103. for (let i = 2; i <= n; i++) {
  104. if (sieve[i]) {
  105. primes.push(i);
  106. }
  107. }
  108. return primes;
  109. }
  110. function bubbleSort(arr) {
  111. let sorted = false;
  112. while (!sorted) {
  113. sorted = true;
  114. for (i = 0; i < arr.length; i++) {
  115. if (arr[i] > arr[i + 1]) {
  116. [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
  117. sorted = false;
  118. }
  119. }
  120. }
  121. }
  122. test = [5, 7, 99, 1, 3, 796, -1, 0];
  123. bubbleSort(test)
  124. console.log(test);