@@ -69,7 +69,6 @@ function Circle(x, y, r, color) {
}
-
var line = new Line(21, 43, 210, 250, 'red');
var rect = new Rect(260, 130, 60, 120, 'green');
var circle = new Circle(190, 120, 50, 'blue');
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>first task</title>
+</head>
+<body>
+ <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
+ <script src="js/script.js">
+ </script>
+</body>
+</html>
@@ -0,0 +1,106 @@
+// ------------------------------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'}
+// ------------------------------2--------------------------------------
+// Напишите функцию-аналог splice, не используя никакие методы массива:
+// var arr = [1, 2, 4, 3];
+// arr = splice(arr, 2, 1);
+// console.log(arr); // [1, 2, 3]
+// arr = splice(arr, 2, 0, 100, 200, 300);
+// console.log(arr); // [1, 2, 100, 200, 300, 3]
+// debugger;
+// function splice() {
+// var nwarr = [];
+// for (i=0; i < arguments.length; i++) {
+// nwarr[i] = arguments[i];
+// for (i=0, arr = [], j=0; i < nwarr[0].length; i++, j++) {
+// if
+// arr[i] = nwarr[0][j];
+// // 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 );
+// splice(arr, 2, 1);
+// splice(arr, 2, 0, 100, 200, 300);
+// ------------------------------3--------------------------------------
+// Напишите функцию, которая возвращает сумму всех чисел, переданных в качестве аргументов,
+// число которых не ограничено. Функция работает только с числами (включая строковые).
+// Если какой-то из параметров - массив, то к сумме добавляется также сумма значений этого массива
+// (если какое-либо из значений этого массива также является массивом, то к результату добавляется
+// также и сумма его значений, и так далее).
+// var sum = getSum(1, '1', 'one', [2, '2', 'two']);
+// 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]);
+// else if (isFinite(arguments[i])) {
+// summ += +arguments[i];
+// 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);