|
@@ -0,0 +1,172 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <meta charset="utf-8">
|
|
|
+ <title>Функции 2</title>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+
|
|
|
+ <script>
|
|
|
+
|
|
|
+//---------sort
|
|
|
+ let persons=[
|
|
|
+ {name:'Ivan',age:17},
|
|
|
+ {name:'Maria',age:35},
|
|
|
+ {name:'Aleksei',age:73},
|
|
|
+ {name:'Iykov',age:12}
|
|
|
+ ];
|
|
|
+
|
|
|
+ function so(arr,field,bool=true){
|
|
|
+ if(bool==false){
|
|
|
+ for(let i of arr){
|
|
|
+
|
|
|
+ }
|
|
|
+ arr.sort((a,b)=>a[field]>b[field]?-1:1);
|
|
|
+ }
|
|
|
+ if(bool==true){
|
|
|
+ arr.sort((a,b)=>a[field]>b[field]?1:-1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*function so(arr,field,bool=true){
|
|
|
+ in process
|
|
|
+ }*/
|
|
|
+
|
|
|
+ so(persons,'age',false);
|
|
|
+ console.log(persons);
|
|
|
+ /*so(persons,'name',false);
|
|
|
+ console.log(persons);*/
|
|
|
+
|
|
|
+//---------array map (done)
|
|
|
+ /*let arr=['1',{},null,undefined,'500',700];
|
|
|
+
|
|
|
+ let arr2=arr.map(function(x){
|
|
|
+ if(x===String(x)){
|
|
|
+ return Number(x);
|
|
|
+ }
|
|
|
+ return x;
|
|
|
+ })
|
|
|
+ console.log(arr2);
|
|
|
+
|
|
|
+ let arr2 = function mAp(arr){
|
|
|
+ let arr2=[];
|
|
|
+ for(let num of arr){
|
|
|
+ if(num===String(num)){
|
|
|
+ arr2.push(Number(num));
|
|
|
+ }else{
|
|
|
+ arr2.push(num);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return arr2;
|
|
|
+ }
|
|
|
+ console.log(arr2(arr))*/
|
|
|
+
|
|
|
+//---------array reduce (done)
|
|
|
+ /*let arr=['0',5,3,'string',null];
|
|
|
+ let num=arr.reduce((res,num)=>{
|
|
|
+ if(num===Number(num)){
|
|
|
+ res*=num;
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ },1);
|
|
|
+ console.log(num); //15
|
|
|
+
|
|
|
+
|
|
|
+ let num2=function(arr){
|
|
|
+ let res=1;
|
|
|
+ for(let i of arr){
|
|
|
+ if(i===Number(i)){
|
|
|
+ res*=i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ console.log(num2(arr)); //15*/
|
|
|
+
|
|
|
+
|
|
|
+//----------object filter
|
|
|
+ /*let phone={
|
|
|
+ brand:'meizu',
|
|
|
+ model:'m2',
|
|
|
+ ram:2,
|
|
|
+ color:'black'
|
|
|
+ };
|
|
|
+
|
|
|
+ function filter(obj,cb){
|
|
|
+ //in process
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(filter(phone,(key,value)=>key=='color'|| value==2));*/
|
|
|
+
|
|
|
+//---------object map
|
|
|
+ //in process
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//---------sum (done)
|
|
|
+ /*function sum(n){
|
|
|
+ if(n==1){
|
|
|
+ return n;
|
|
|
+ }else{
|
|
|
+ return n+sum(n-1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(sum(10));*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//----------HTML Tree (blue belt - recursive) (done)
|
|
|
+ var someTree = {
|
|
|
+ tagName: "table",
|
|
|
+ subTags: [
|
|
|
+ {
|
|
|
+ tagName: "tr",
|
|
|
+ subTags: [
|
|
|
+ {
|
|
|
+ tagName: "td",
|
|
|
+ text: "some text",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ tagName: "td",
|
|
|
+ text: "some text 2",
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ attrs: {
|
|
|
+ border: 1,
|
|
|
+ },
|
|
|
+ }
|
|
|
+
|
|
|
+ let str='';
|
|
|
+
|
|
|
+ function createTree(obj){
|
|
|
+ for(let item in obj){
|
|
|
+ if(item=='tagName'){
|
|
|
+ if(obj[item]=='table'){
|
|
|
+ let [key] = Object.keys(someTree['attrs']);
|
|
|
+ let [value]= Object.values(someTree['attrs']);
|
|
|
+ str+=`<${someTree['tagName']} ${key}=${value}>`;
|
|
|
+ }else{
|
|
|
+ str+=`<${obj['tagName']}>`;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(item=='subTags'){
|
|
|
+ for(let item2 of obj[item]){
|
|
|
+ createTree(item2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(item=='text'){
|
|
|
+ str+=`${obj['text']}`;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ createTree(someTree);
|
|
|
+ console.log(str);
|
|
|
+ document.write(str);
|
|
|
+
|
|
|
+ </script>
|
|
|
+
|
|
|
+</body>
|
|
|
+</html>
|