项目中解决实际问题的代码片段-javascript方法,Vue方法(长期更新)

总结项目用到的一些处理方法,用来解决数据处理的一些实际问题,所有方法都可以放在一个公共工具方法里面,实现不限ES5,ES6还有些Vue处理的方法。

都是项目中来的,有代码跟图片展示,长期更新。

1.获取两个给定日期之间所有日期集合

/**
    * 传入一个日期字符串(不要时间,如果带时间的话在修改方法)
    **datestr:形如‘2017-06-12’的字符串(如果是2017.06.12格式在修改代码,这里没有做通用)
    **return Date 对象
**/
getDate (datestr) {
    var temp = datestr.split("-");
    if (temp[1] === '01') {
        temp[0] = parseInt(temp[0],10) - 1;
        temp[1] = '12';
    } else {
        temp[1] = parseInt(temp[1],10) - 1;
    }
    //new Date()的月份入参实际都是当前值-1
    var date = new Date(temp[0], temp[1], temp[2]);
    return date;
},
/**
 * 这个方法用到了上面方法,如果传的日期格式是日期就不需要上面方法了
    * 传入一个日期字符串(不要时间,如果带时间的话在修改方法)
    **start:形如‘2017-06-12’的字符串
    **end:形如‘2017-08-12’的字符串
    **return Date 字符串数组 ['2017-06-12','2017-06-13','2017-06-13'....]
**/
getDiffDate (start, end) {
    var startTime = this.getDate(start);
    var endTime = this.getDate(end);
    var dateArr = [];
    while ((endTime.getTime() - startTime.getTime()) >= 0) {
        var year = startTime.getFullYear();
        var month = (startTime.getMonth()+1).toString().length === 1 ? "0" + (startTime.getMonth()+1).toString():(startTime.getMonth()+1).toString();
        var day = startTime.getDate().toString().length === 1 ? "0" + startTime.getDate(): startTime.getDate();
        dateArr.push(year + "-" + month + "-" + day);
        startTime.setDate(startTime.getDate() + 1);
    }
    return dateArr;
},

2.Vue深度监听对象

猜你喜欢

转载自www.cnblogs.com/wangmaoling/p/10619793.html
今日推荐