就像竹林的灯火,被风吹过,摇摇曳曳,但永不熄灭!

JS 实用方法

//格式化数字
function toStringNum(data,n,s){
    n = n||3;
    s = s||',';
    if(data){
        var dataArray = (data+'').split('');
        var show = "";
        for(var j=1,i=dataArray.length-1;i>=0;i--){
            show = dataArray[i]+show;
            if(j++%n == 0 && i>0){
                show = s+show;
            }
        }
        return show;
    }
    return '';
}
toStringNum(dataAll.ajs.VALUE,3,',');//23,432
//格式化日期
function dateFormat(fmt, date) {
    let ret;
    let week = ['日','一','二','三','四','五','六']
    const opt = {
        "Y+": date.getFullYear().toString(),        //
        "m+": (date.getMonth() + 1).toString(),     //
        "d+": date.getDate().toString(),            //
        "H+": date.getHours().toString(),           //
        "M+": date.getMinutes().toString(),         //
        "S+": date.getSeconds().toString(),          //
        "w+": date.getDay().toString(),                //
        "W+": week[date.getDay()].toString()                //
        // 有其他格式化字符需求可以继续添加,必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        };
    };
    return fmt;
}
dateFormat('YYYY年mm月dd日  星期W  HH:MM:SS',new Date());
/**
 * String.padStart()
 * version 1.0.1
 * Feature            Chrome  Firefox Internet Explorer   Opera    Safari    Edge
 * Basic support    57       51      (No)                44       10      15
 * -------------------------------------------------------------------------------
 */
if (!String.prototype.padStart) {
  String.prototype.padStart = function padStart(targetLength, padString) {
    targetLength = targetLength >> 0; //floor if number or convert non-number to 0;
    padString = String(typeof padString !== 'undefined' ? padString : ' ');
    if (this.length > targetLength) {
      return String(this);
    } else {
      targetLength = targetLength - this.length;
      if (targetLength > padString.length) {
        padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
      }
      return padString.slice(0, targetLength) + String(this);
    }
  };
}
/**
 * 给对象动态属性赋值
 * @param obj 对象
 * @param pathArray 属性数组路径 列:[a,b,c]指{a:{b:{c:}}}
 * @param value 值
 */
function setNestedValue(obj, pathArray, value) {
    if (pathArray.length === 1) {
        obj[pathArray[0]] = value;
    } else {
        //给变量重新赋值,防止影响外部引用变量
        pathArray = pathArray.concat();
        const nextProp = pathArray.shift();
        if (!obj.hasOwnProperty(nextProp)) {
            obj[nextProp] = {};
        }
        setNestedValue(obj[nextProp], pathArray, value);
    }
}

/**
 * 获取对象动态属性值
 * @param obj 对象
 * @param pathArray 属性数组路径 列:[a,b,c]指{a:{b:{c:}}}
 * @returns value 值
 */
function getNestedValue(obj, pathArray) {
    if (pathArray.length === 1) {
        return obj[pathArray[0]];
    } else {
        //给变量重新赋值,防止影响外部引用变量
        pathArray = pathArray.concat();
        const nextProp = pathArray.shift();
        if (!obj.hasOwnProperty(nextProp)) {
            return null;
        }
        return getNestedValue(obj[nextProp], pathArray);
    }
}

 

posted @ 2020-10-26 10:02  竹林的灯火  阅读(125)  评论(0)    收藏  举报

w3school 在线教程 | 博客园 | sxsoft | 快包网 | 荆门泽优软件有限公司博客