diff --git a/js-core/homeworks/homework-15/index.html b/js-core/homeworks/homework-15/index.html new file mode 100644 index 0000000..333cefd --- /dev/null +++ b/js-core/homeworks/homework-15/index.html @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/js-core/homeworks/homework-15/src/main.js b/js-core/homeworks/homework-15/src/main.js new file mode 100644 index 0000000..236cd1b --- /dev/null +++ b/js-core/homeworks/homework-15/src/main.js @@ -0,0 +1,76 @@ +/* +TASK 0 +Проверьте что строка содержит все символы от "a" до "z" + solution("wyyga") // false + solution("qwertyuioplkjhgfdsazxcvbnm") // true + solution("ejuxggfsts") // false + solution("qpwoeirutyalskdjfhgmznxbcv") // true + solution("qqqqqqqqpwoeirutyallskkdjfhgmmznxbcv") // true + solution("0123456789abcdefghijklmnop") // false +*/ + +const solution = str => { + let tempArr = [] + let testABC = /[a-z]/ + let arrToStr = str.split('') + arrToStr.forEach(elem => { + let arrElem = testABC.test(elem) + if(arrElem === true){ + tempArr.push(arrElem) + return tempArr + } + }); + //так как мы знаем что в англ. алфавите 26 букв то + if((arrToStr.length === tempArr.length) && (arrToStr.length >= 26)){ + console.log(true) + // return true + } + else{ + console.log(false) + // return false + } +} +solution("wyyga") // false +solution("qwertyuioplkjhgfdsazxcvbnm") // true +solution("ejuxggfsts") // false +solution("qpwoeirutyalskdjfhgmznxbcv") // true +solution("qqqqqqqqpwoeirutyallskkdjfhgmmznxbcv") // true +solution("0123456789abcdefghijklmnop") // false +/* + 2. Напишите функция которая преобразовывает / открывает + скобки всех вложенных внутри массивов + Необходимо реализовать рекурсивный фызов функции. + Функция должна открывать любое количество + внутренних массивов и объектов + example: + [[1,2],[3,[4]],5, 10] => [1, 2, 3, 4, 5, 10] + [25, 10, [10, [15]]] => [25, 10, 10, 15] + [1, [2, [ {a: "b", c: 'd' }, { c: [1, 2, 5] } ] ] ] => [1, 2, {a: "b"}] + */ + +//#1 arr == [...] flattenedArray = [1] + flatten = [2, [{a: "b"}, { c: 'd' }]] +//#2 arr == [2, [ {a: "b"}, { c: 'd' } ] ] flattenedArray = [2] + flatten == [{a: "b"}, { c: 'd' }] +//#3 arr == [ {a: "b"}, { c: 'd' } ] flattenedArray = [{a: "b"}, { c: 'd' }] +//# +const flatten = arr => { + if(Array.isArray(arr)){ + return arr.reduce(function(newArr, elem){ + return newArr.concat(flatten(elem)) + }, []) + } + return arr + }; + + + +console.log(flatten([[1,2],[3,[4]],5, 10])); +console.log(flatten([25, 10, [10, [15]]])); +console.log(flatten([1, [2, [ {a: "b", c: 'd' }, { c: [1, 2, 5] } ] ] ])); + +/* +Виртуализировать таблицу, сделать рендер всей +таблицы через JavaScript. +Второй макет. +https://github.com/aleksandra-maslennikova/telephone-book/blob/master/index.html +Выглядеть должно так же: https://aleksandra-maslennikova.github.io/telephone-book/index.html +*/ \ No newline at end of file