123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- // ДЗ: Функции и области видимости
- // a
- // function a(text) {
- // alert(text);
- // }
- // cube
- // function cube(num = 1) {
- // if (Number.isNaN(+num)) {
- // return "Error";
- // } else {
- // return num ** 3;
- // }
- // }
- // avg2
- // function avg2(a, b) {
- // if (
- // !Number.isNaN(+a) &&
- // !Number.isNaN(+b) &&
- // typeof +a === "number" &&
- // typeof +b === "number"
- // ) {
- // return ((a + b) / 2).toFixed(1);
- // } else {
- // return "Error";
- // }
- // }
- // sum3
- // function sum3() {
- // return arguments[0] + arguments[1] + arguments[2];
- // }
- // intRandom
- // function intRandom(...range) {
- // let random;
- // if (range[0] === range[1] && range[0] < 0 && range[1] < 0) {
- // return range[0];
- // }
- // range.length > 1
- // ? (random = Math.random() * range[1] + range[0])
- // : (random = Math.random() * range[0] + 0);
- // return Math.round(random);
- // }
- // greetAll
- // function greetAll(...anybody) {
- // return alert("Hello " + anybody.join(", "));
- // }
- // sum
- // function sum(...numbers) {
- // alert(numbers.reduce((a, b) => a + b));
- // }
- // Union
- // let sample = prompt("Введите название задания");
- // switch (sample.toLowerCase()) {
- // case "a":
- // a("Hello");
- // break;
- // case "cube":
- // cube(2);
- // break;
- // case "avg2":
- // avg2(5, 5);
- // break;
- // case "sum3":
- // sum3(1, 2, 3);
- // break;
- // case "intrandom":
- // intRandom(10);
- // break;
- // case "greetall":
- // greetAll("Superman", "SpiderMan", "Captain Obvious");
- // break;
- // case "sum":
- // sum(10, 20, 30, 100);
- // break;
- // default:
- // alert("Введённое задание не найдено");
- // }
- // Union declarative
- // let sampleDec = prompt("Введите название задания").toLowerCase();
- // const tasks = {
- // a: a("Hello"),
- // cube: cube(2),
- // avg2: avg2(5, 5),
- // sum3: sum3(1, 2, 3),
- // intrandom: intRandom(10),
- // greetall: greetAll("Superman", "SpiderMan", "Captain Obvious"),
- // sum: sum(10, 20, 30, 100),
- // };
- // tasks[sampleDec];
- // ДЗ: Функции 2, ES6
- // a - simplified
- // let aSim = (text) => alert(text);
- // cube - simplified
- // let cubeSim = (num = 1) => (Number.isNaN(+num) ? "Error" : num ** 3);
- // avg2 - simplified
- // let avg2Sim = (a, b) =>
- // !Number.isNaN(+a) &&
- // !Number.isNaN(+b) &&
- // typeof +a === "number" &&
- // typeof +b === "number"
- // ? ((a + b) / 2).toFixed(1)
- // : "Error";
- // sum && sum3 - simplified
- // let sumSim = (...arguments) => arguments.reduce((a, b) => a + b);
- // intRandom - simplified
- // let intRandomSim = (...range) => {
- // let random;
- // if (range[0] === range[1] && range[0] < 0 && range[1] < 0) {
- // return range[0];
- // }
- // range.length > 1
- // ? (random = Math.random() * range[1] + range[0])
- // : (random = Math.random() * range[0] + 0);
- // return Math.round(random);
- // };
- // greetAll - simplified
- // let greetAllSim = (...anybody) => alert("Hello " + anybody.join(", "));
- // sort
- // const persons = [
- // { name: "Иван", age: 17 },
- // { name: "Мария", age: 35 },
- // { name: "Алексей", age: 73 },
- // { name: "Яков", age: 12 },
- // ];
- // function sort(obj, field, asc = true) {
- // if (asc) {
- // for (let i = 0, endI = obj.length - 1; i < endI; i++) {
- // for (let j = 0, endJ = endI - i; j < endJ; j++) {
- // if (obj[j][field] > obj[j + 1][field]) {
- // let swap = obj[j];
- // obj[j] = obj[j + 1];
- // obj[j + 1] = swap;
- // }
- // }
- // }
- // } else {
- // for (let i = 0, endI = obj.length - 1; i < endI; i++) {
- // for (let j = 0, endJ = endI - i; j < endJ; j++) {
- // if (obj[j][field] < obj[j + 1][field]) {
- // let swap = obj[j];
- // obj[j] = obj[j + 1];
- // obj[j + 1] = swap;
- // }
- // }
- // }
- // }
- // return obj;
- // }
- // console.log(sort(persons, "age", false));
- // array map
- // const arrayMap = ["1", {}, null, undefined, "500", 700];
- // const newArrayMap = arrayMap.map((value) =>
- // typeof +value === "number" && value !== null && !Number.isNaN(+value)
- // ? +value
- // : value
- // );
- // console.log(newArrayMap);
- // array reduce
- // const arrayReduce = ["0", 5, 3, "string", null];
- // const resultArrayReduce = arrayReduce.reduce(function (prev, curr) {
- // if (typeof curr === "number") {
- // prev *= curr;
- // }
- // return prev;
- // }, 1);
- // console.log(resultArrayReduce);
- // object filter
- // const phone = {
- // brand: "meizu",
- // model: "m2",
- // ram: 2,
- // color: "black",
- // };
- // function filter(obj, func) {
- // const newObj = {};
- // for (let [key, value] of Object.entries(obj)) {
- // if (func(key, value)) {
- // newObj[key] = value;
- // }
- // }
- // return newObj;
- // }
- // console.log(filter(phone, (key, value) => key == "color" || value == 2));
- // object map
- // const person = {
- // name: "Иван",
- // age: 17,
- // };
- // function map(obj, func) {
- // let newObj = {};
- // for (let [key, value] of Object.entries(obj)) {
- // if (func(key, value)) {
- // newObj[key] = { ...func(key, value) };
- // }
- // }
- // let result = {};
- // for (let key in newObj) {
- // result = Object.assign(result, newObj[key]);
- // }
- // return result;
- // }
- // console.log(
- // map(person, function (key, value) {
- // let result = {};
- // result[key + "_"] = value + "$";
- // return result;
- // })
- // );
- // Рекурсия
- // Sum
- // function recSum(n) {
- // if (n < 1) return 1;
- // return n + recSum(n - 1);
- // }
- // console.log(recSum(5));
- // HTML Tree
- // const someTree = {
- // tagName: "table",
- // subTags: [
- // {
- // tagName: "tr",
- // subTags: [
- // {
- // tagName: "td",
- // text: "some text",
- // content: "Text",
- // },
- // {
- // tagName: "td",
- // text: "some text 2",
- // content: "Text",
- // },
- // ],
- // },
- // ],
- // attrs: {
- // border: 1,
- // },
- // };
- // let constructor = "";
- // function recConstr(tree) {
- // if (tree.tagName) {
- // constructor += `<${tree.tagName} ${
- // tree.attrs ? [...Object.keys(tree.attrs)] + "=" : ""
- // }${
- // tree.attrs ? "'" + [...Object.values(tree.attrs)] + "'" : ""
- // } class='obj${
- // tree.tagName.slice(0, 1).toUpperCase() + tree.tagName.slice(1)
- // }'>`;
- // tree.content ? (constructor += `${tree.content}`) : "";
- // if (tree.subTags) {
- // for (let i = 0; i < tree.subTags.length; i++) {
- // recConstr({ ...tree.subTags[i] });
- // }
- // }
- // constructor += `</${tree.tagName}>`;
- // return constructor;
- // } else {
- // return "Error";
- // }
- // }
- // document.write(recConstr(someTree));
|