美文网首页
摘自elementUI,getPropByPath方法

摘自elementUI,getPropByPath方法

作者: 令狐铁蛋 | 来源:发表于2018-09-25 13:31 被阅读0次

解析属性,如:obj.user.name

function getPropByPath(obj, path, strict) {
    let tempObj = obj;
    path = path.replace(/\[(\w+)\]/g, '.$1');
    path = path.replace(/^\./, '');

    let keyArr = path.split('.');
    let i = 0;
    for (let len = keyArr.length; i < len - 1; ++i) {
        if (!tempObj && !strict) break;
        let key = keyArr[i];
        if (key in tempObj) {
            tempObj = tempObj[key];
        } else {
            if (strict) {
                throw new Error('please transfer a valid prop path to form item!');
            }
            break;
        }
    }
    return {
        o: tempObj,
        k: keyArr[i],
        v: tempObj ? tempObj[keyArr[i]] : null
    };
}

相关文章

网友评论

      本文标题:摘自elementUI,getPropByPath方法

      本文链接:https://www.haomeiwen.com/subject/cwtloftx.html