|
@@ -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);
|
|
|
+
|
|
|
+// }
|
|
|
+// }
|