Advertisement
natalyayemelyanova

Александр Дегтярев 2

Feb 5th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. function ClockwiseTask(word1, word2)
  2. {
  3. var word1_split = word1.split(''); //Разбивка слова №1
  4. var word2_split = word2.split(''); //Разбивка слова №2
  5. word1_split.forEach(function(item, i, word1_split)
  6. {
  7. if(item == ' ') {delete word1_split[i]}; //Удаление пробелов из массива символов
  8. });
  9.  
  10. word2_split.forEach(function(item, i, word2_split)
  11. {
  12. if(item == ' ') {delete word2_split[i]}; //Удаление пробелов из массива символов
  13. });
  14.  
  15.  
  16. word1_split.some(function(item1, i1, word1_split)
  17. {
  18. word2_split.some(function(item2, i2, word2_split)
  19. {
  20. if(item1 == item2) //В случае "покрытия" буквы из одного слова в другом
  21. {
  22. delete word1_split[i1]; //Удаление использованной буквы из слова №1
  23. delete word2_split[i2]; //Удаление использованной буквы из слова №2
  24. return true;//Принудительный выход из перечисления
  25. }
  26. });
  27. });
  28.  
  29. word1_split.clean(undefined);//Очистка от лишних элементомв
  30. word2_split.clean(undefined);//Очистка от лишних элементомв
  31. //После того, как все совпадения были удалены из массивов символов обоих слов, более нет чего сравнивать
  32. //Что значит, что перестановка букв в фразе №1 может полностью сопоставить слово №2
  33. //В противном случае, в одном из массивов остается 1 или более "непокрытый" символ
  34. if (word1_split.length === 0 && word2_split.length === 0)
  35. {
  36. return true;
  37. }
  38. else
  39. {
  40. return false;
  41. }
  42. }
  43.  
  44. Array.prototype.clean = function(deleteValue) {
  45. for (var i = 0; i < this.length; i++) {
  46. if (this[i] == deleteValue) {
  47. this.splice(i, 1);
  48. i--;
  49. }
  50. }
  51. return this;
  52. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement