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

时间: 2024-10-31 11:14:28

js对象通过属性路径获取属性值 - getPropByPath的相关文章

关于JS(原生js+jq)中获取、设置或者删除元素属性和获取元素值

一.JS获取.设置或者删除元素属性 原生js: $("要获取属性class/id名").getAttribute("属性"); $("要设置属性class/id名").setAttribute("属性","属性值"); $("要删除属性class/id名").removeAttribute("属性"); jq: $("要获取属性class/id名"

java 反射机制--根据属性名获取属性值

1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plain copy /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ private String getFieldValueByFieldName(String fieldName, Object object) { try { Field field = object.getClass().getField(fieldName

python面对对象编程-------5:获取属性

一:最基本的属性操作 1 class Generic: 2 pass 3 4 g= Generic() 5 6 >>> g.attribute= "value" #创建属性并赋值 7 >>> g.attribute 8 'value' 9 >>> g.unset 10 Traceback (most recent call last): 11 File "<stdin>", line 1, in &l

js先后对某个js对象内的两个属性排序

需求 列表中先根据某id进行排序,然后id相同的再按某属性进行排序.最终显示效果如图所示: 实现代码 var data.items = [ {'brand_id':1,'farm_id':2}, {'brand_id':1,'farm_id':3}, {'brand_id':2,'farm_id':4} ] function multisort(array, ...compairers) { return array.sort((a, b) => { for (const c of compai

** * 根据属性名获取属性值 * * @aram fie理直气壮休假去高薪亦难换

Allure 是一个reor框架,支持多语言,多平台.可以通过JuniTesngyes等产生的结果集生成酷炫好看的reor;同时也可以支持自定义字段,将你想展示 本文基于几篇经典的论文,对 Aenion 模型的不同结构进行分析.拆解. 先简单谈一谈 aenion 模型的引入.以基于 seq2seq 模型的机器翻译为例,如自13年兴起的Fla设计趋势,也恰恰好符合了这一规律.去除冗余.厚重和繁杂的装饰效果,这是Fla设计的核心意义. 道理仿佛异常简单,但要做出优秀的Fla??? 今天在cenOS

JS对象—数组总结(创建、属性、方法)

原文地址:https://www.cnblogs.com/itgezhu/p/11263452.html

jsp页面和js代码中使用sessionScope获取session值

场景:有些实体对象可以放到HttpSession对象中,保正在一个会话期间可以随时获取这个对象的属性,例如可以将登录用户的信息写入session,以保证页面随时可以获取并显示这个用户的状态信息.下面以此为例. 本文转自:http://blog.csdn.net/baidu_30809315/article/details/77159549 1.后台将用户这一实体对象写入session(HttpSession),这里是从拦截器中写入,代码中的userInfo是从单点登录服务器获取的登录用户信息 [

java获取对象属性类型、属性名称、属性值

因为项目需要用到,于是简单封装了一些常用的操作: [java] view plaincopy /** * 根据属性名获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { try { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String getter = "get" + firstLetter + field

基于js对象,操作属性、方法详解

一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很