Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. /*
  3. Реализовать функцию, принимающую строку “a.b.c.d” и
  4. возвращающая объект со свойством объектом - a, со
  5. свойством объектом - b, со свойством объектом - с,
  6. со свойством d, равным null. Можно передать любую строку
  7. в указанном формате х.х.х.х.х.х…, и получить объект с
  8. вложенными объектами и завершающим null. */
  9.  
  10. function untwisr(str) {
  11.     const arr = str.split('.');
  12.     const link = {};
  13.     arr.reduce((acc, letter, index) => {
  14.         acc[letter] = (index < (arr.length - 1)) ? {} : null;
  15.         return acc[letter];
  16.     }, link);
  17.     return link;
  18. }
  19.  
  20. const test1 = 'a.b.c.d';
  21.  
  22. // console.log(untwisr(test1));
  23.  
  24. /* Реализовать функции объединения, пересечения, разности элементов двух массивов:
  25. Объединение - union(a, b)
  26. Пересечение - intersection(a, b)
  27. Разность - difference(a, b) */
  28.  
  29. function union(multiOne, multiTwo) {
  30.     const newMultiOne = Array.from(new Set(multiOne));
  31.     const newMultiTwo = Array.from(new Set(multiTwo));
  32.     return Array.from(new Set(newMultiTwo.concat(newMultiOne)));
  33. }
  34.  
  35. function intersection(multiOne, multiTwo) {
  36.     const newMultiOne = Array.from(new Set(multiOne));
  37.     const newMultiTwo = Array.from(new Set(multiTwo));
  38.     return newMultiOne.filter(value => newMultiTwo.indexOf(value) > -1);
  39. }
  40.  
  41. function diff(multiOne, multiTwo) {
  42.     const newMultiOne = Array.from(new Set(multiOne));
  43.     const newMultiTwo = Array.from(new Set(multiTwo));
  44.     const multiOneLeft = newMultiOne.reduce((acc, item) => {
  45.         /* if content */
  46.         if (newMultiTwo.indexOf(item) > -1) {
  47.             return acc;
  48.         }
  49.         acc.push(item);
  50.         return acc;
  51.     }, []);
  52.     return multiOneLeft;
  53. }
  54.  
  55. const test2 = [1, 99, 99, "lol", "lol"];
  56. const test3 = [1, 4, "lal", "lol"];
  57. const test4 = [1, 2, 1, 1, 3];
  58. const test5 = [1];
  59.  
  60.  
  61. // console.log(union(test2, test3)); // [1, 4, "lal", 99, "lol"]
  62. // console.log(intersection(test5, test4)); // [1]
  63. // console.log(intersection(test3, test2)); // [1, "lol"]
  64. // console.log(diff(test5, test4)); // [2, 3]
  65. // console.log(diff(test3, test2)); // [4, "lal", 99]
  66.  
  67. // console.log(intersection([1, 2, 3], [4, 3, 2])); // [2, 3]
  68. // console.log(diff([1, 2, 3, 7, 9], [4, 5, 7, 2, 1, 5])); // [3, 9]
  69. // console.log(diff([4, 5, 7, 2, 1, 5], [1, 2, 3, 7, 9])); // [4, 5]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement