• JS学习笔记——Date、Array


    1.Date

    返回object:new Date()
    返回number:Date.parse("2017.4.19")Date.UTC(2017,0)Date.now()

    var now = new Date();//获取当前时间,变量now是object
    var before = new Date(1000);//获取距离UTC 1000毫秒的时间,变量before是object
    
    //变量now是该时间距离UTC的毫秒数,参数是字符串
    //格式有许多可选,"2017.4.19"、"4/19/2017"等格式都可以
    var now = Date.parse("April 19, 2017");
    
    var now = Date.UTC(2017,3,19,21,24,26)//变量now是该时间距离UTC的毫秒数,该时间指2017.4.19 22:24:26
    
    var now = Date.now();//变量now是目前时间距离UTC的毫秒数

    2.Array

    //检测数组
    //isArray()方法检测变量是否是数组
    var arr = [];
    Array.isArray(arr);//true
    
    //转换成字符串
    //join()方法将数组连接成字符串,返回字符串,原数组不变
    var arr = [1,2,'x'];
    var str = arr.join('-');//返回字符串"1-2-x"
    
    //栈方法,先进后出
    var arr = new Array();
    arr.push('a','b');
    arr.push('c');
    arr.pop();//c,返回最后一个进去的元素
    
    //队方法,先进先出
    var arr = new Array();
    arr.push('a','b');
    arr.push('c');
    arr.pop();//a,返回第一个进去的元素
    
    //重排序方法,这两个函数的返回值都是重排序之后的数组,原数组不变
    //reverse()方法不看内容,倒序排列;sort()方法按照传入的函数排列
    var arr = [12,0,33,6,1];
    arr.reverse();//单纯将arr从后往前排列,跟内容无关
    arr.sort(func);//接受一个比较函数
    
    //操作元素方法
    //concat()方法在原数组的基础上添加元素,返回新数组,原数组不变;
    //slice()方法在原数组的基础上删除元素,返回新数组,原数组不变;
    //splice()方法在原数组的基础上添加和删除元素,原数组改变,返回被从原数组中删除的元素
    var arr = ['a','b'];
    var arr2 = arr.concat('c');//arr不变,arr2是arr的副本添加元素c之后的结果
    
    var arr = ['a','b'];//arr不变,arr2是arr的副本经过裁剪之后的结果。裁剪的规则是[s,e)左开右闭,s和e都是数组索引
    var arr2 = arr.slice(s,e);//如果索引中有负数,需要加上数组的长度变为正数进行计算
    
    var arr = ['a','b'];
    var ar2 = arr.splice(s,n,'xxx',...);//arr改变,从s位置删除n个元素并添加后面的元素;arr2由从arr中删除掉的元素组成
    
    //位置方法
    //indexOf()方法和lastIndexOf()方法查找数组并返回结果的索引
    var arr = ['a','b','a'];
    arr.indexOf('a',n);//从位置n向右(数组末尾)查找元素'a'
    //有两点要注意:1.查找使用全等===; 2.两个引用类型的值相同,不代表引用1==引用2
    arr.lastIndexOf('b',n)从位置n向左(数组开头) 
    
    //迭代方法(都不会修改原数组中的值)
    //每个迭代方法的第一个参数接受一个迭代函数,该迭代函数接收三个参数:元素的值,元素的索引,数组本身。
    //参数含义跟顺序有关,跟变量名称无关。除了forEach(),其他方法都是返回值,且第一个参数的迭代函数也有返回值。
    //every()判断所有元素是否满足条件,“every”每一个都满足了,才返回true;
    //some()判断是否有某一个元素满足条件,“some”某一个都满足了,就返回true;
    //map()把每个元素映射成其他值,返回映射后的新数组
    //filter()过滤掉不满足条件的元素,返回满足条件的元,组成数组
    //forEach()无返回值,相当于for循环遍历每个元素
    var arr = [1,2,3,4,3,2,1];
    var res = arr.every(function(item, index, array){
        return (item > 2);
    });//res是false
    
    var res = arr.some(function(item, index, array){
        return (item > 2);
    });//res是true
    
    var res = arr.filter(function(item, index, array){
        return (item > 2);
    });//res是[3,4,3]
    
    var res = arr.map(function(item, index, array){
        return (item * 2);
    });//res是[1,4,6,8,6,4,1]
    
    arr.forEach(function(item, index, array){
        array[index] = item * 2;
    });//res是[1,4,6,8,6,4,1]
  • 相关阅读:
    kittle入门之文本文件导入数据库
    关于java的杂乱无章(续更)
    SpringBoot+Mybatis+redis实现二级缓存
    Spring AOP面向切面编程,监听某个方法
    xxl-job编写GULE(Java)运行模式,带执行参数(url)
    java后台解决跨域问题
    Spring Boot+JWT+Spring Security实现授权认证保护Rest API
    Java中的23种设计模式之——访问者(Visitor)模式(7)
    Java中的23种设计模式之——策略(Stragedy)模式(6)
    Java中的23种设计模式之——生成器(Builder)模式(5)
  • 原文地址:https://www.cnblogs.com/season-peng/p/6759509.html
Copyright © 2020-2023  润新知