js关于数组和对象的问题

发布网友 发布时间:2022-04-26 18:20

我来回答

2个回答

懂视网 时间:2022-05-15 12:59

本文主要和大家分享JS日期、Math、数组以及对象简要分析,希望能帮助到大家。

相关题目

  • 获取2017-06-10格式的日期

  • function formatDate(dt){ if(!dt){
     dt = new Date();
     } var year = dt.getFullYear();var month = dt.getMonth()+1;var date = dt.getDate();if(month<10){ //强制类型转换
     month = '0'+month;
    }if(date<10){ date = '0'+date;
    }return year + '-'+month+'-'+date;
    }var dt = new Date();var formatDate = formatDate(dt);
    console.log(format);
  • 获取随机数,要求是长度一致的字符串格式(随机数在前端开发中的作用)

  • var random =Math.random();random= random + '0000000000';//保证下一句不会报错random = random.slice(0,9);
    console.log(random);
  • 写一个能遍历对象和数组的通用的forEach函数(jquery中有)

  • //想想对象中的forEach与数组中的for in怎么用比较好//这里是forEach函数function forEach(obj,fn){
     var key; if(obj instanceof Array){
     obj.forEach(function(item,index){
      fn(index.item);
     })
     }else{ for(key in obj){
      fn(key.obj[key]);
     }
     }
    }//调用var arr = [1,2,3];forEach(arr,function(index,item)){
     console.log(index.item);
    }var obj = {x:100,y:200};forEach(obj,function(key,value){
     console.log(key,value);
    })

    知识点

  • 日期

  • Date.nowTime(); //获取当前时间毫秒数(这个数是从1970开始算起到现在走了多少毫秒数)var myDate = new Date(); //new一个时间对象myDate.getTime(); //获取毫秒数myDate.getFullYear(); //年(4位数),还有一种getYear()的方法,有兼容性的问题,与getFullYear()相差1900myDate.getMonth(); //月(0-11),实际应用是应该注意它的返回值myDate.getDate();//日(1-31)myDate.getDay();//星期(0-6),实际应用是应该注意它的返回值myDate.getHours();//时(0-23)myDate.getMinutes();//分(0-59)myDate.getSeconds();//秒(0-59)
  • Math
    1 . 获取随机数Math.random();

  • 会返回一个大于0小于1的一个小数,eg:0.14249200181060218,一般常用于清除缓存,比如:页面打开时,由于缓存的存在,刚刚更新的数据有时无法在页面得到刷新,因为如果请求的地址是相同的,浏览器就不会去连接服务器。这时候可以用随机数来处理,相当于加载新的页面。

    在URL 参数后加上 "?r=" + Math.random();//加随机数在 URL 参数后加上 "?timestamp=" + new Date().getTime(); //也可以加时间戳

    2 . 更多方法及随机数的扩展见我之前的博客;

  • 数组API
    1 . forEach遍历所有元素

  • var arr = [1,2,3];
    arr.forEach(function(item,index){//item为元素的值eg:1,2,3,index位为元素的位置,从0开始的
     //遍历数组中所有元素
     console.log(index,item); //注意参数顺序});

    2 . every判断所有元素是否都符合条件

    var arr = [1,2,3];var result = arr.every(funciton(item,index){// 用来判断所有的数组元素,都满足一个条件
     if(item < 4){ return ture;
     }
    });
    console.log(result);//true

    3 . some判断是否有至少一个元素符合条件

    var arr = [1,2,3];var result = arr.every(funciton(item,index){// 用来判断所有的数组元素,都满足一个条件
     if(item < 2){ return ture;
     }
    });
    console.log(result);//true

    4 . sort排序(从小向大排序)

    var arr = [1,4,3,2,5];var arr2 = arr.sort(function(a,b){
     //从小到大
     return a-b; //从大到小
     //return b-a;});
    console.log(arr2);//[1,2,3,4,5]

    5 . map对元素重新组装,生成新数组(把元素按照一种规则组装成另外一种元素,生成一种新的数组)

    var arr = [1,2,3,4];var arr2 = arr.map(function(item,index){ //将元素重新组装并返回 return '<b>'+item+'</b>';
    });console.log(arr2); //["<b>1</b>", "<b>2</b>", "<b>3</b>", "<b>4</b>"]

    6 . filter过滤符合条件的元素

    var arr = [1,2,3];var arr2 = arr.filter(function(item,index){
     //通过一个条件过滤数组
     if(item>=2){ return true;
     }
    });
    console.log(arr2); //2,3
  • 对象API

  • var obj ={x:100,y:200,z:300};var key;for(key in obj){//key这里取得是obj的属性名
     if(obj.hasOwnProperty(key)){//判断他是这个obj的属性而不是原型的属性
     console.log(key,obj[key]);
     }
    }

    热心网友 时间:2022-05-15 10:07

    <script>
    var aList=[];
    var strList=["a","b","c"];
    for(var i=0;i<strList.length;i++){
    var aObj={};
    aObj.name=strList[i]; 
    aObj.fn=null;
    aList.push(aObj);
    }
    aList[0].fn="a";
    console.log(aList);
    </script>

     把创建对象放在for循环里面

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    0.3502s