123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- // Task sort
- // let persons = [
- // {name: "Иван", age: 17},
- // {name: "Мария", age: 35},
- // {name: "Алексей", age: 73},
- // {name: "Яков", age: 12},
- // ];
- // function sort (arr, key, boolean = true) {
- // for (let i = 0; i < (arr.length - 1); i++) {
- // for (let q = 0; q < arr.length - 1; q++) {
- // if (arr[q][key] > arr[q + 1][key]) {
- // let b = arr[q];
- // arr[q] = arr[q + 1];
- // arr[q + 1] = b;
- // };
- // if ((arr[q][key] < arr[q + 1][key]) && !boolean ) {
- // let b = arr[q];
- // arr[q] = arr[q + 1];
- // arr[q +1] = b;
- // };
- // };
- // };console.log(arr);
- // return arr;
- // };
- // sort(persons, 'name', false);
- //Task array map
- // let myArray = ["1", {}, null, undefined, "500", 700];
- // function changStringToNumber (arr) {
- // for (let i = 0; i < arr.length; i++) {
- // if (typeof (arr[i]) === 'string') {
- // arr[i] = +arr[i];
- // };
- // };
- // console.log(arr);
- // return arr;
- // };
- // changStringToNumber(myArray);
- //2
- // let myArray = ["1", {}, null, undefined, "500", 700];
- // let newArray = myArray.map( function (value) {
- // if (typeof(value) === 'string') {
- // value = +value;
- // return value;
- // };
- // return value;
- // });
- // console.log(newArray);
- //Task array reduce
- // let myArray = ["0", 5, 3, "string", null];
- // function multiplicationStrings (arr) {
- // let result = 1;
- // for (let i = 0; i < arr.length; i++) {
- // if (typeof (arr[i]) === 'number') {
- // result *= (+arr[i]);
- // };
- // };
- // console.log(result);
- // return result;
- // };
- // multiplicationStrings(myArray);
- //2
- // let myArray = ["0", 5, 3, "string", null];
- // let result = myArray. reduce(function multiplicationStrings (acum, curentVal) {
- // if (typeof(curentVal) === 'number') {
- // return (acum * curentVal);
- // };
- // return acum;
- // }, 1);
- // console.log(result);
- //Task object filter
- // var phone = {
- // brand: "meizu",
- // model: "m2",
- // ram: 2,
- // color: "black",
- // };
- // function myFilter (obj, func) {
- // let newObj = {};
- // for (let key in obj) {
- // let checkArg = func (key, value =obj[key]);
- // if (checkArg) {
- // newObj[key] = value;
- // };
- // };
- // return newObj;
- // };
- // let check = myFilter(phone,(key,value) => key == "color" || value == 2);
- // console.log (check);
- //Task object map
- // function myMap (obj, func) {
- // let newObj = {};
- // for (let key in obj) {
- // let checkArg = func (key, value =obj[key]);
- // Object.assign(newObj,checkArg);
- // };
- // return newObj;
- // };
- // let check = myMap({name: "Иван", age: 17},function(key,value){
- // var result = {};
- // result[key+"_"] = value + "$";
- // return result;
- // }); //должен вернуть {name_: "Иван$", age_: "17$"}
- // console.log(check);
- // Task Sum
- // function calculationSumArithmProgr (a, d, n) {
-
- // if (n === 1) {
- // return a;
- // };
- // return (calculationSumArithmProgr(a, d, n-1) + (a + d * (n - 1)));
- // };
- // let check = calculationSumArithmProgr(5, 7, 3);
- // console.log(check);
- //Task HTML Tree
- var someTree = {
- tagName: "table", //html tag
- children: [ //вложенные тэги
- {
- tagName: "tr",
- children: [
- {
- tagName: "td",
- text: "some text",
- },
- {
- tagName: "td",
- text: "some text 2",
- }
- ]
- }
- ],
- attrs:
- {
- border: 1,
- },
- }
- function builder (obj) {
- let {tagName, attrs, text, children} = obj;
-
- let attributes = '';
- if (attrs) {
- for (const [key, value] of Object.entries(attrs)) {
- attributes += `${key} = ${value}` ;
- };
- };
- if (!children) {
- return `<${tagName} ${attributes}>${text}</${tagName}>`;
- };
- let siblings = '';
- for (let i = 0; i < children.length; i++) {
- siblings += `${builder(children[i])}\n`;
- };
- return `<${tagName} ${attributes}>\n ${siblings}</${tagName}>\n`;
- };
- let check = builder(someTree);
- document.write(check);
|