Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Реализовать функцию, принимающую строку “a.b.c.d” и
- возвращающая объект со свойством объектом - a, со
- свойством объектом - b, со свойством объектом - с,
- со свойством d, равным null. Можно передать любую строку
- в указанном формате х.х.х.х.х.х…, и получить объект с
- вложенными объектами и завершающим null. */
- function untwisr(str) {
- const arr = str.split('.');
- const link = {};
- arr.reduce((acc, letter, index) => {
- acc[letter] = (index < (arr.length - 1)) ? {} : null;
- return acc[letter];
- }, link);
- return link;
- }
- const test1 = 'a.b.c.d';
- // console.log(untwisr(test1));
- /* Реализовать функции объединения, пересечения, разности элементов двух массивов:
- Объединение - union(a, b)
- Пересечение - intersection(a, b)
- Разность - difference(a, b) */
- function union(multiOne, multiTwo) {
- const newMultiOne = Array.from(new Set(multiOne));
- const newMultiTwo = Array.from(new Set(multiTwo));
- return Array.from(new Set(newMultiTwo.concat(newMultiOne)));
- }
- function intersection(multiOne, multiTwo) {
- const newMultiOne = Array.from(new Set(multiOne));
- const newMultiTwo = Array.from(new Set(multiTwo));
- return newMultiOne.filter(value => newMultiTwo.indexOf(value) > -1);
- }
- function diff(multiOne, multiTwo) {
- const newMultiOne = Array.from(new Set(multiOne));
- const newMultiTwo = Array.from(new Set(multiTwo));
- const multiOneLeft = newMultiOne.reduce((acc, item) => {
- /* if content */
- if (newMultiTwo.indexOf(item) > -1) {
- return acc;
- }
- acc.push(item);
- return acc;
- }, []);
- return multiOneLeft;
- }
- const test2 = [1, 99, 99, "lol", "lol"];
- const test3 = [1, 4, "lal", "lol"];
- const test4 = [1, 2, 1, 1, 3];
- const test5 = [1];
- // console.log(union(test2, test3)); // [1, 4, "lal", 99, "lol"]
- // console.log(intersection(test5, test4)); // [1]
- // console.log(intersection(test3, test2)); // [1, "lol"]
- // console.log(diff(test5, test4)); // [2, 3]
- // console.log(diff(test3, test2)); // [4, "lal", 99]
- // console.log(intersection([1, 2, 3], [4, 3, 2])); // [2, 3]
- // console.log(diff([1, 2, 3, 7, 9], [4, 5, 7, 2, 1, 5])); // [3, 9]
- // 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