首页 > 编程语言 >javascript 将变量值作为对象属性 获取对象对应的值

javascript 将变量值作为对象属性 获取对象对应的值

时间:2024-05-15 17:52:23浏览次数:14  
标签:bar attr 对象 变量值 javascript rule let txt log

 

 

      test(){
        let form={
          bar_rule_txt:'{spu}-{master_attr_value}-{slave_attr_alias}',
          bar_rule_result:'',
          spu:'JPK1575G',
          master_attr_value:'黑色',
          master_attr_alias:'C001',
          slave_attr_value:'XXL',
          slave_attr_alias:'S002',
        };


        let bar_rule_txt = form.bar_rule_txt;
        const regex = /\{([^}]+)\}/g; // 匹配大括号里面内容

        let match,rule_attr=[];
        while ((match = regex.exec(bar_rule_txt))) {
          //console.log(match[1]); // 输出捕获组内匹配的内容,即大括号内的内容
          rule_attr.push(match[1]);
        }
        console.log(rule_attr);//打印正则表达式-匹配的内容

        let propertyName = "form."+rule_attr[0];
        console.log(propertyName);//form.spu
        let objname = eval(propertyName);
        console.log(objname);//JPK1575G


      },

 

 

 

 

 

转: https://www.cnblogs.com/mxjx/p/3259455.html

 

标签:bar,attr,对象,变量值,javascript,rule,let,txt,log
From: https://www.cnblogs.com/fps2tao/p/18194404

相关文章

  • JavaScript Object valueOf & toString All In One
    JavaScriptObjectvalueOf&toStringAllInOneclassArrayWrapper{arr:number[];constructor(nums:number[]){this.arr=nums;}//✅改写Object内置方法valueOf,返回一个number整数//❓object相加(本质上是object序列化后的string......
  • 去除两个JSON对象集合中的重复数据
    在jQuery中,要去除两个JSON对象集合中的重复数据,你通常需要比较这两个集合中对象的特定属性来决定是否重复。以下是一个基本的方法,假设我们根据每个对象的id属性来判断是否重复,并且我们将结果保存到第一个集合中,去除掉与第二个集合中重复的项://假设这是你的两个JSON对象集合var......
  • 使用c#强大的表达式树实现对象的深克隆之解决循环引用的问题
    在上一期博客里,我们提到使用使用c#强大的表达式树实现对象的深克隆,文章地址:https://www.cnblogs.com/gmmy/p/18186750。但是文章里没有解决如何实现循环引用的问题。循环引用在C#中,循环引用通常发生在两个或更多的对象相互持有对方的引用,从而形成一个闭环。这种情况在使用面向对......
  • 使用c#强大的表达式树实现对象的深克隆
    使用c#强大的表达式树实现对象的深克隆 一、表达式树的基本概念表达式树是一个以树状结构表示的表达式,其中每个节点都代表表达式的一部分。例如,一个算术表达式 a+b 可以被表示为一个树,其中根节点是加法运算符,它的两个子节点分别是 a 和 b。在LINQ(语言集成查询)中,表达......
  • 使用c#强大的表达式树实现对象的深克隆
    一、表达式树的基本概念表达式树是一个以树状结构表示的表达式,其中每个节点都代表表达式的一部分。例如,一个算术表达式a+b可以被表示为一个树,其中根节点是加法运算符,它的两个子节点分别是a和b。在LINQ(语言集成查询)中,表达式树使得能够将C#中的查询转换成其他形式的查询......
  • Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界
    前言我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright中也有类似的方法,使用page.evaluate()执行JavaScript脚本。page.evaluate()和page.evaluate_handle()之间的......
  • TypeScript 对象数组的类型
    在TypeScript中,你可以使用接口(interface)来定义这种对象数组的类型。接口允许你描述对象的形状,从而确保你的数据结构符合预期。对于给定的数据 [{"name":"小明","age":"18"},{"name":"小东","age":"10"}],你可以这样声明一个接口:interfacePerson{......
  • js 判断包含 对象属性
    在JavaScript中,判断一个对象是否包含某个属性可以使用in关键字,或者使用对象自身的hasOwnProperty方法。使用in关键字:letobj={name:'Alice',age:25};letpropertyName='name';if(propertyNameinobj){console.log(`对象包含属性:${propertyName}`);}else{......
  • python教程12-面向对象进阶
    1、classmethod类方法类方法只能访问类变量,不能访问实例变量2、staticmethod静态方法不能访问类变量,也不能访问实例变量。除非在实例调用时给方法传实例。3、反射1-判断对象是否有属性的情况用法: 实例: __name__,模块被其他模块导入的时候调用,是你叫的名字。模块自己主......
  • JavaScript中的 '===' 和 '=='
    在JavaScript中,== 和 === 都是用于比较值的相等性的运算符,但是它们的行为略有不同。== 运算符用于比较值的相等性,而不考虑它们的数据类型。这意味着如果两个值的值相等,即使它们的数据类型不同,它们也会被认为是相等的。例如,== 会将字符串 "123" 与数字 123 视为相等。......