Entony пре 7 година
родитељ
комит
ee07631326
1 измењених фајлова са 106 додато и 104 уклоњено
  1. 106 104
      module2/js/script.js

+ 106 - 104
module2/js/script.js

@@ -1,21 +1,21 @@
 // ------------------------------1--------------------------------------
 // Напишите функцию, которая в объекте меняет местами ключи и значения:
 
-// var obj = {
-//     'name': 'John',
-//     'email': 'john@mail.com'
-// };
-
-// function reverse(val) {
-// 	obj = val;
-// 	for (var key in obj) {
-//     	obj[obj[key]] = key;
-//     	delete obj[key] ;
-// 	}
-// 	return obj;
-// }
-// reverse(obj);
-// console.log(obj); // {'John': 'name', 'john@mail.com': 'email'}
+var obj = {
+    'name': 'John',
+    'email': 'john@mail.com'
+};
+
+function reverse(val) {
+	obj = val;
+	for (var key in obj) {
+    	obj[obj[key]] = key;
+    	delete obj[key] ;
+	}
+	return obj;
+}
+reverse(obj);
+console.log(obj); // {'John': 'name', 'john@mail.com': 'email'}
 
 // ------------------------------2--------------------------------------
 // Напишите функцию-аналог splice, не используя никакие методы массива:
@@ -25,39 +25,39 @@
 // arr = splice(arr, 2, 0, 100, 200, 300);
 // console.log(arr); // [1, 2, 100, 200, 300, 3]
 
-// var arr = [1, 2, 4, 3];
-// function splice(arr) {
-
-// 	var arrArguments = [];
-// 	for (i=0; i < arguments.length; i++) {
-// 		arrArguments[i] = arguments[i];
-// 	}
-
-// 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++;
-//    	 	}
-// 	}
-// }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); // [1, 2, 100, 200, 300, 3]
+var arr = [1, 2, 4, 3];
+function splice(arr) {
+
+	var arrArguments = [];
+	for (i=0; i < arguments.length; i++) {
+		arrArguments[i] = arguments[i];
+	}
+
+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++;
+   	 	}
+	}
+}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); // [1, 2, 100, 200, 300, 3]
 
 // ------------------------------3--------------------------------------
 // Напишите функцию, которая возвращает сумму всех чисел, переданных в качестве аргументов, 
@@ -68,71 +68,73 @@
 // var sum = getSum(1, '1', 'one', [2, '2', 'two']);
 // console.log( sum ); // 6
 
-// function sum() {
-// 	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])
-// 		}
-// 	}
-// 	return summ;
-// }
-// console.log( sum(1, '1', 'one', [2, '2', [2, '2', 'two'], 'two'], 1, 4, [2, '2', 'two'], 7) );
+function sum() {
+	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])
+		}
+	}
+	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');
+// recursiveTree(data);                              <--------самое злое задание, время выполнения 100500 часов
 
-// function recursiveTree(arr, place) {
-// 	place = place || 'body';
+var data = [1, [21, 22, 23], 3, [41, [421, 422]], 5];
+var $item = $('<div>').prependTo('body');
 
-// 	var $ul =$('<ul>').appendTo(place);
+function recursiveTree(arr, place) {
+	place = place || 'body';
 
-// 	for(var i=0; i < arr.length; i++){
-// 		if ( typeof arr[i] !== "object") {
-// 			$('<li>').text(arr[i]).appendTo($ul);
-// 		}else {
-//   			recursiveTree(arr[i], $ul);
-// 		}
-// 	}
-// }
+	var $ul =$('<ul>').appendTo(place);
 
-// recursiveTree(data, $item);	
+	for(var i=0; i < arr.length; i++){
+		if ( typeof arr[i] !== "object") {
+			$('<li>').text(arr[i]).appendTo($ul);
+		}else {
+  			recursiveTree(arr[i], $ul);
+		}
+	}
+}
+
+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);
-
-// 	}
-// }
+
+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);
+
+	}
+}