如何實現深拷貝?

利用正則快速轉換指定時間格式

// 20200303 => 2020-03-03
date = date.replace(/(.{4})/, "$1-");
date = date.replace(/(.{7})/, "$1-");
複製代碼

正則表達式校驗輸入百分比值

vue

let reg = /^-?(100|(([1-9]\d|\d)(.\d{1,2})?))%$/ 複製代碼console.log(!reg.test(99.3)) 複製代碼

iview tree 爲指定節點設置展開不生效

web

// 問題 在變量 treeData的時候設置 extend = true 並無生效,在打印treeData後發現並無與extend相關的get set 方法。 因此致使沒法展開。 複製代碼// 結論 直接在數據中添加屬性是沒法生成get和set方法 // 解決 vue.$set(item, 'extend', true) 複製代碼

獲取map數組的key值

getObjectKeys (object){
    var keys = [];
    for (var property in object)
      return property;
    },
}
複製代碼

如何實現深拷貝?

function deep(origin, target) {
    var target = target || {};
    for (var prop in origin) {
        if (origin.hasOwnProperty(prop)) {
            if (typeof origin[prop] == 'object' && typeof origin[prop] !== null) {
                if (origin[prop] instanceof Array) {
                    target[prop] = [];
                    deep(origin[prop], target[prop]);//遞歸調用deep
                }
                if (origin[prop] instanceof Object) {
                    target[prop] = {};
                    deep(origin[prop], target[prop]);//遞歸調用deep
                }
            } else if (typeof origin[prop] == 'number' || typeof origin[prop] == 'string' || typeof origin[prop] == 'boolean') {
                target[prop] = origin[prop];
            }
        }
    }
    return target;
}
複製代碼

vue rules 校驗不能輸入漢字

const checkData =  (rule, value, callback) => {
    if (/[\u4E00-\u9FA5]/g.test(value) || value === '') {
      callback(new Error('只能數字英文和符合!'));
    } else {
      callback();
    }
}
複製代碼
相關文章
相關標籤/搜索