zoukankan      html  css  js  c++  java
  • getPropByPath:根据字符串路径获取对象属性 : 'obj[0].count'

    function getPropByPath(obj, path, strict) {      
      let tempObj = obj;

      path = path.replace(/[(w+)]/g, '.$1'); //将[0]转化为.0

      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) {//开启严格模式,没找到对应key值,抛出错误

            throw new Error('please transfer a valid prop path to form item!');

          }

          break;

        }

      }

      return {

        o: tempObj, //原始数据

        k: keyArr[i], //key值

        v: tempObj ? tempObj[keyArr[i]] : null // key值对应的值

      };
    };
  • 相关阅读:
    Go 指针
    Go 字符串
    Go Maps
    Go 可变参数函数
    Go 数组和切片
    pyqt5实现窗口跳转并关闭上一个窗口
    spy++查找窗口句柄
    Python中Tk模块简单窗口设计
    pyqt5无边框拖动
    pyqt5 GUI教程
  • 原文地址:https://www.cnblogs.com/EternalZH/p/12213850.html
Copyright © 2011-2022 走看看