Ivan Asmer 7 éve
szülő
commit
11157a6785
1 módosított fájl, 90 hozzáadás és 0 törlés
  1. 90 0
      module2_FE10.md

+ 90 - 0
module2_FE10.md

@@ -0,0 +1,90 @@
+# Модуль
+
+## objectValues
+
+Сделать функцию, которая будет вычитывать все значения из объекта и возвращать массив с этими значениями
+
+```javascript
+var notebook = {
+    brand: "HP",
+    type:  "440 G4",
+    model: "Y7Z75EA",
+    ram: 4,
+    size: "14",
+    weight: 1.8,
+    resolution: {
+        width: 1920,
+        height: 1080
+    },
+};
+
+objectValues(notebook) //возвращает ["HP", "440 G4", "Y7Z75EA", 4, "14", 1.8, { width: 1920, height: 1080 } ]
+```
+
+## objectCombine
+
+Сделать функцию, которая из двух массивов ключей и значений создает ассоциативный массив или `null` если массивы разной длины:
+
+```javascript
+
+objectCombine(['name', 'surname'], ['Donald', 'Trump']) // { name: "Donald", surname: "Trump" }
+objectCombine(['name', 'surname'], ['Ivan', 'Petrovich', 'Cherezzabornoguzadirischenko']) // null
+
+```
+
+## choiceBuilder
+
+Напилите функцию, которая создает поле выбора `select` или набор `radio` в определенном контейнере:
+
+```javascript
+choiceBuilder('someId', {default: 'Не указан', male: "Мужской", female: 'Женский'})
+```
+
+если someId - это тэг `SELECT`, то добавляет в него `option` из объекта. Иначе создает radio кнопки
+
+## tableEditor
+
+Создайте функцию, которая строит таблицу из массива массивов и позволяет редактировать любую ячейку по даблклику.
+При даблклике контент ячейки подменяется на `input`. По даблклику по `input` измененые данные заносятся в оригинальный
+массив и `input` удаляется из ячейки, заменяясь измененным значением.
+
+
+```javascript
+var arr = [[1,2],[3,4]]
+tableEditor(arr) //создает таблицу 2x2, каждую ячейку которой можно подредактировать. Изменения должны вноситься в arr
+```
+
+## formBuilder
+
+Накривотивьте функцию, которая из объекта сделает форму в контейнере `someId`
+
+```javascript
+formBuilder('someId', {
+    login: {type: 'text',
+            placeholder: 'Логин',
+            validator: function(element){
+                return element.value.length > 2;
+            }},
+    email: {type: 'email',
+            placeholder: 'Мыло',
+            validator: function(element){
+                return element.value.indexOf('@') > -1;
+            }},
+    password1 : {type: 'password',
+            placeholder: 'Пароль',
+            validator: function(element, obj){
+                return element.value == obj.password2;
+            }},
+    password2 : {type: 'password',
+            placeholder: 'Пароль еще раз',
+            validator: function(element, obj){
+                return element.value == obj.password1;
+            }},
+    }, function(result){
+        console.log(result)
+        alert('спасибо за заполнение');
+    })
+```
+
+Функция должна создавать поля ввода с `placeholder`, и кнопку сохранения. По кнопке функция должна проверять все валидаторы, и подсвечивать ошибочное поле красным фоном.  В валидаторы передается текущий элемент и объект с текущими значениями полей.
+Когда валидация успешна, функция должна вызвать третий параметр - функцию-callback и передать в неё объект с результатом