Browse Source

all task complite

Entony 7 years ago
parent
commit
03d37ab4db
3 changed files with 126 additions and 93 deletions
  1. 36 35
      14.08.2017/js/script.js
  2. 1 1
      module2/index.html
  3. 89 57
      module2/js/script.js

+ 36 - 35
14.08.2017/js/script.js

@@ -193,34 +193,34 @@
 // по порядку элемент массива. Учтите, что для доступа к вашему элементу не должен производиться поиск по DOM-дереву.
 // оценочное время 120 мин 
 // Потраченное время 240 мин 
-var arr = [ 'Д','ь','я','в','о','л',' ','н','е',' ','с','п','и','т','.',' ','С',' ','к','е','м',' ','п','о','п','а','л','о','.'];
-var obj = {
-	delay: 50,
-	container: function(tag){
-		return this.tag = tag;
-	},
-	appendTo: function() {
-		$('<'+ this.tag + '>').css({
-			margin: '0 auto',
-			background: '#000',
-			color: '#fff',
-			'text-align': 'center'
-		}).appendTo('body');
-	},
-	appendText: function(val){
-		$('<i>').css('font-size', '15px').text(val).appendTo(this.tag);
-	}
-};
-obj.container('div');
-obj.appendTo();
-for (i=0; i < arr.length; i++) {
-	(function() {
-		var j =i;
-		setTimeout(function() {
-			obj.appendText(arr[j]);
-		}, i * obj.delay);
-	})();
-}    
+// var arr = [ 'Д','ь','я','в','о','л',' ','н','е',' ','с','п','и','т','.',' ','С',' ','к','е','м',' ','п','о','п','а','л','о','.'];
+// var obj = {
+// 	delay: 50,
+// 	container: function(tag){
+// 		return this.tag = tag;
+// 	},
+// 	appendTo: function() {
+// 		$('<'+ this.tag + '>').css({
+// 			margin: '0 auto',
+// 			background: '#000',
+// 			color: '#fff',
+// 			'text-align': 'center'
+// 		}).appendTo('body');
+// 	},
+// 	appendText: function(val){
+// 		$('<i>').css('font-size', '15px').text(val).appendTo(this.tag);
+// 	}
+// };
+// obj.container('div');
+// obj.appendTo();
+// for (i=0; i < arr.length; i++) {
+// 	(function() {
+// 		var j =i;
+// 		setTimeout(function() {
+// 			obj.appendText(arr[j]);
+// 		}, i * obj.delay);
+// 	})();
+// }    
 
 // ------------------------------------рекурсия 1------------------------------------------
 // Напишите функцию, которая возвращает куб переданного числа, аналог Math.pow(x, 3) 
@@ -249,10 +249,11 @@ for (i=0; i < arr.length; i++) {
 // console.log( sum(1, 2, 3, 4, 5) ); // 15
 // оценочное время 240 мин 
 // Потраченное время 30 мин
-// function sum() {
-// 	var arr=arguments[arguments.length-1];
-// 	arguments.length--;
-// 	if (arguments.length > 0) arr += sum.apply(null, arguments);
-// 	return arr;
-// }
-// console.log( sum(1, 2, 3, 4, 5) ); // 15
+function sum() {
+	var arr=arguments[arguments.length-1];
+	arguments.length--;
+	if (arguments.length > 0) 
+		arr += sum.apply(null, arguments);
+	return arr;
+}
+console.log( sum(1, 2, 3, 4, 5) ); // 15

+ 1 - 1
module2/index.html

@@ -2,7 +2,7 @@
 <html lang="en">
 <head>
 	<meta charset="UTF-8">
-	<title>first task</title>
+	<title>Modul2</title>
 </head>
 <body>
 	<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>

+ 89 - 57
module2/js/script.js

@@ -1,5 +1,6 @@
 // ------------------------------1--------------------------------------
 // Напишите функцию, которая в объекте меняет местами ключи и значения:
+
 // var obj = {
 //     'name': 'John',
 //     'email': 'john@mail.com'
@@ -25,47 +26,38 @@
 // console.log(arr); // [1, 2, 100, 200, 300, 3]
 
 // var arr = [1, 2, 4, 3];
-// debugger;
-
-
-// function splice() {
+// function splice(arr) {
 
-// var nwarr = [];
+// 	var arrArguments = [];
 // 	for (i=0; i < arguments.length; i++) {
-// 		nwarr[i] = arguments[i];
+// 		arrArguments[i] = arguments[i];
 // 	}
 
-// 	for (i=0, arr = [], j=0; i < nwarr[0].length; i++, j++) {
-// 		if 
-// 		arr[i] = nwarr[0][j];
+// if (arrArguments[2] == 1) {
+// 	for (var i = 0, j = 0, nwarr= []; j < arrArguments.length; i++, j++) {
+//     	nwarr[j] = arr[i];
+//     	if (i == arrArguments[1]) {
+//     		nwarr[j] = arr[i+1];
+//     		i++;
+//    	 	}
 // 	}
-
-
-// // for (var i = 0; i < nwarr[0].length - nwarr[2]; i++ ) {
-// // 	if (i == nwarr[1]) {
-// // 		arr[i] = arr[i + nwarr[2]];
-// // 	}else if ( i + nwarr[1]  < i + nwarr[2]) {
-// // 		arr[i] = arr[i + nwarr[2] + 1];
-// // 	} 
-// // }
-// // arr.length = arr.length - nwarr[2];
-// // return console.log(arr);
-// // };
-
-// // function splice(arr) {
-// // 	array = arr;
-// // 	
-// // 	if (nwarr[2] === 1) {
-	
-// // 		for (i=0,arr = []; (i < array[2]); i++) {
-			
-// // 			arr[i] = array[i];
-// // 		}
-// 	// }
-// 	return console.log( arr );
+// }else if (arrArguments[2] == 0) {
+// 	for (var i = 0, j = 0, nwarr= []; j < arrArguments.length; i++, j++) {
+// 		nwarr[j] = arr[i];
+// 		if (i == arrArguments[1]) {
+// 			nwarr[j] = arrArguments[3];
+// 			for (var a=4; a < arrArguments.length; a++) {
+// 				j++;
+// 				nwarr[j] = arrArguments[a];
+// 			}
+// 		}
+// 	}
+// }
+// arr = nwarr;
+// return console.log(arr);
 // }
 // splice(arr, 2, 1);
-// splice(arr, 2, 0, 100, 200, 300);
+// splice(arr, 2, 0, 100, 200, 300); // [1, 2, 100, 200, 300, 3]
 
 // ------------------------------3--------------------------------------
 // Напишите функцию, которая возвращает сумму всех чисел, переданных в качестве аргументов, 
@@ -77,30 +69,70 @@
 // console.log( sum ); // 6
 
 // function sum() {
-
-// 	for(var i=0, summ = 0; i<arguments.length; i++){
-// 		if ( arguments[i] instanceof Array ) {
-// 			summ += sum.apply(arguments[i]);
+// 	var summ = 0;
+// 	for(var i=0; i < arguments.length; i++){
+// 		if (isFinite(arguments[i])) {
+//   			summ+= +arguments[i];
+//   		}else if (arguments[i] instanceof Array ) {
+// 			summ += sum.apply(null, arguments[i])
 // 		}
-// 		else if (isFinite(arguments[i])) {
-// 			summ += +arguments[i];
+// 	}
+// 	return summ;
+// }
+// console.log( sum(1, '1', 'one', [2, '2', [2, '2', 'two'], 'two'], 1, 4, [2, '2', 'two'], 7) );
+
+// ------------------------------4--------------------------------------
+// Напишите функцию, которая отрисовывает древовидный список ul li из предоставленной структуры любой глубины вложенности. 
+// Где рисовать меню определяется в параметрах функции, если DOM-элемент не был передан, то дерево рисуется в body:
+// var data = [1, [21, 22, 23], 3, [41, [421, 422]], 5];
+// recursiveTree(data);                                     <--------самое злое задание, время выполнения 100500 часов
+// var data = [1, [21, 22, 23], 3, [41, [421, 422]], 5];
+// var $item = $('<div>').prependTo('body');
+
+// function recursiveTree(arr, place) {
+// 	place = place || 'body';
+
+// 	var $ul =$('<ul>').appendTo(place);
+
+// 	for(var i=0; i < arr.length; i++){
+// 		if ( typeof arr[i] !== "object") {
+// 			$('<li>').text(arr[i]).appendTo($ul);
+// 		}else {
+//   			recursiveTree(arr[i], $ul);
 // 		}
 // 	}
-// return console.log(summ);
 // }
-// sum(1, '1', 'one', [2, '2', 'two'], 1, 4, 5, 7);
-
-function getSum(){
- var sum = 0;
- for(var i=0; i< arguments.length; i++){
-  // sum+= +arguments[i]
-  if (isFinite(arguments[i])) 
-  	{sum+= +arguments[i];
-  } else if (typeof arguments[i] === "object") {
-   sum+= getSum.apply(null, arguments[i])
-  }
- }
- return console.log(sum);
-}
-
-getSum(1, '1', 'one', [2, '2', 'two'], 1, 4, 5, 7);
+
+// recursiveTree(data, $item);	
+
+// ------------------------------5--------------------------------------
+// Напишите функцию, которая изображает в теге HTML картинку по данным, представляющим из себя двумерный массив закрашенных точек.
+// var cat = [
+//     [2, 3, 4],
+//     [1, 2, 8, 15],
+//     [0, 1, 8, 9, 14, 15],
+//     [0, 1, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15],
+//     [0, 1, 3, 4, 5, 6, 8, 11, 12, 15],
+//     [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 15],
+//     [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15],
+//     [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14],
+//     [1, 2, 3, 6, 7, 11, 12],
+//     [1, 2, 6, 7],
+//     [1, 2, 3, 4, 6, 7, 8],
+//     [1, 2, 3, 4, 6, 7, 8]
+// ];
+
+// var $item = $('<table>').css({'margin' : 'auto', 'background' : '#fff', 'border-collapse' : 'collapse', 'border-spacing' : 0}).prependTo('body');
+
+// for (var i = 0; i < cat.length; i++) {
+// 	var $tr = $('<tr>').appendTo($item);
+
+// 	for (var j = 0, k=0; (j < 16) || (k < cat[i].length); j++) {
+// 		if (j == cat[i][k]) {
+// 			k++;
+// 			$('<td>').css({'background' : '#000', 'height' : '40px', 'width' : '40px'}).appendTo($tr);
+// 		}else
+// 		$('<td>').css({'border' : '1px solid #000', 'height' : '40px', 'width' : '40px'}).appendTo($tr);
+
+// 	}
+// }