js对象通过属性路径获取属性值 - getPropByPath
Posted 【云】风过无痕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js对象通过属性路径获取属性值 - getPropByPath相关的知识,希望对你有一定的参考价值。
function getPropByPath(obj, path) { 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) { let key = keyArr[i]; if (key in tempObj) { tempObj = tempObj[key]; } else { throw new Error(‘[iView warn]: please transfer a valid prop path to form item!‘); } } return { o: tempObj, k: keyArr[i], v: tempObj[keyArr[i]] }; }
如: var obj = {name:‘objname‘, items:[{value: 0},{value: 1}]}, path = ‘items.0.value‘;
console.log( getPropByPath(obj, path).v );
结果: 0
以上是关于js对象通过属性路径获取属性值 - getPropByPath的主要内容,如果未能解决你的问题,请参考以下文章