精华内容
下载资源
问答
  • 对象名属性名
    万次阅读
    2019-11-12 16:45:56
    dataObj = {
    name : "gao",
    age : 26
    };
    for(var d in dataObj) {
        var d; // 属性名name 
        var dataObj[d]; //属性值gao
    }

     

    更多相关内容
  • js更改对象属性名的方法

    万次阅读 2020-05-27 15:52:02
    动态修改name为text,userName也修改为text,userList为children 处理方法: 方案一:封装copyTransFunc方法,参数有两个,一个是arr,一个是数组,数组里可以配置修改的key和替换的value,支持多个 // 将arr对象中...

    数据格式如下:

    let arr = [
        {
            "id": 275,
            "name": "测试公司",
            "userList": [
                  {
                      "id": 697,
                      "userName": "11111"
                  }
             ]
         }, {
             "id": 327,
             "name": "有限公司",
             "userList": [
                   {
                       "id": 743,
                       "userName": "张三"
                    }, {
                        "id": 744,
                        "userName": "李四"
                    }
               ]
          }
    ];

    问题一:动态修改name为text,userName也修改为text,userList为children

    处理方法:

    方案一:封装copyTransFunc方法,参数有两个,一个是arr,一个是数组,数组里可以配置修改的key和替换的value,支持多个

    // 将arr对象中的name键改为text、userName键改为text、userList键改为chilren
                console.log(this.copyTransFunc(arr, [{ key: "name", value: "text" }, { key: "userName", value: "text" },{ key: "userList", value: "chilren" }]));
    
    
    
    copyTransFunc (obj, typeArr) {
                    let result;
                    let toString = Object.prototype.toString;
                    if (toString.call (obj) === '[object Array]') {
                        result = [];
                        for (let i = 0; i < obj.length; i++) {
                            result[i] = this.copyTransFunc (obj[i], arguments[1])
                        }
                    } else if (toString.call (obj) === '[object Object]') {
                        result = {};
                        for (let _key in obj) {
                            if (obj.hasOwnProperty (_key)) {
                                let flag = 0, _value = null;
                                for (let j = 0; j < arguments[1].length; j++) {
                                    if (arguments[1][j].key === _key) {
                                        flag = 1;
                                        _value = arguments[1][j].value
                                    }
                                }
                                if (flag)
                                    result[_value] = this.copyTransFunc (obj[_key], arguments[1]);
                                else
                                    result[_key] = this.copyTransFunc (obj[_key], arguments[1])
                            }
                        }
                    } else {
                        return obj
                    }
                    return result
                }

    方案二:递归解决

    copyTransFun (arr) {
                    arr.forEach ((item) => {
                        if (item.name) {
                            item.text = item.name;
                            delete item.name;
                        }
                        if (item.userName) {
                            item.text = item.userName;
                            delete item.userName;
                        }
                        if (item.userList) {
                            item.children = item.userList;
                            delete item.userList;
                            if (item.children.length) {
                                this.copyTransFun (item.children);
                            }
                        }
                    });
                },

    方案三:处理两级情况

    //处理只有两级情况
    let col = [];
                arr.forEach((item, index) => {
                    col.push({
                            id: item.id,
                            text: item.name,
                            children: item.userList,
                        },
                    );
                });
                col.forEach((_item, _index) => {
                    if (_item.children && _item.children.length) {
                        _item.children.forEach((item, index) => {
                            if (Object.getOwnPropertyNames(item).length) {
                                item.id = item.id;
                                item.text = item.userName;
                            }
                        })
                    }
                });

     交流


    1、QQ群:可添加qq群共同进阶学习: 进军全栈工程师疑难解  群号:   856402057

    2、公众号:公众号「进军全栈攻城狮」 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!

     工作之余,不要忘记吃饭了,天天可领哦!

               

        

    展开全文
  • 这里是很显而易见的! 然后我们用for in 对他进行遍历,他的区别就出来了。

    这里是很显而易见的!

     

    然后我们用for in 对他进行遍历,他的区别就出来了。

     

     

     

     

     

     

     

    展开全文
  • js修改对象属性名

    千次阅读 2021-12-24 14:22:42
    // 更改对象属性名 // 第一个参数为要更改的对象,第二个参数为属性名映射数组 // 如将属性名为 “日期” 更改为 "date" : [{ key: '日期', value: 'date' }] export function copyTransFunc (obj, typeArr) { let ...

    代码

    // 更改对象属性名
    // 第一个参数为要更改的对象,第二个参数为属性名映射数组
    // 如将属性名为 “日期” 更改为 "date" : [{ key: '日期', value: 'date' }]
    export function copyTransFunc (obj, typeArr) {
        let result;
        let toString = Object.prototype.toString;
        if (toString.call (obj) === '[object Array]') {
            result = [];
            for (let i = 0; i < obj.length; i++) {
                result[i] = copyTransFunc (obj[i], arguments[1])
            }
        } else if (toString.call (obj) === '[object Object]') {
            result = {};
            for (let _key in obj) {
                if (obj.hasOwnProperty (_key)) {
                    let flag = 0, _value = null;
                    for (let j = 0; j < arguments[1].length; j++) {
                        if (arguments[1][j].key === _key) {
                            flag = 1;
                            _value = arguments[1][j].value
                        }
                    }
                    if (flag)
                        result[_value] = copyTransFunc (obj[_key], arguments[1]);
                    else
                        result[_key] = copyTransFunc (obj[_key], arguments[1])
                }
            }
        } else {
            return obj
        }
        return result
    }
    

    使用

    import { copyTransFunc } from '@/utils/formatDataKey.js'
    ......
    let keyMapping = [
              { key: '日期', value: 'date' },
              { key: '岗位', value: 'station' },
              { key: '工单号', value: 'workOrder' },
              { key: '工作内容', value: 'tasks' },
              { key: '工作时长', value: 'workHours' },
              { key: '开始时间', value: 'startWorkTime' },
              { key: '结束时间', value: 'endWorkTime' },
            ]
    // 更改excel数据属性名
    this.excelData = copyTransFunc(this.excelData, keyMapping)
    

    ES10版

    let obj = {
        '日期':'2023',
        '年龄':{
            a:12,
            b:23,
        },
        '身高':[12,4,5,6],
        '体重':78
    }
    
    let keymapping = [
        {key:'日期',newKey:'date'},
        {key:'体重',newKey:'weight'},
        {key:'身高',newKey:'tall'}
    ]
    
    function changeKey2(obj,kepmapping){
        let oldKeysArr = Object.keys(obj)
        let arr = Object.entries(obj)
        let changedKeyIndex = []
        keymapping.forEach(item=>{
            if(oldKeysArr.indexOf(item.key)!==-1){
                arr[oldKeysArr.indexOf(item.key)][0] = item.newKey
            }
        })
        return Object.fromEntries(arr)
    }
    
    console.log(changeKey2(obj,keymapping))  
    //  {"date":"2023","年龄":{"a":12,"b":23},"tall":[12,4,5,6],"weight":78}
    
    展开全文
  • 关于对象属性名和属性值

    千次阅读 2020-07-30 17:58:21
    对象属性名不强制要求遵守标识符的规范,没有限制(尽量还是按照标识符的规范去做); 如果要使用特殊的属性名,不能采用.的方式来操作,需要使用另一种方式 语法: 对象[“属性名”]=属性值 读取时也需要采用这种...
  • C# 反射获取对象属性名和属性值

    千次阅读 2020-03-20 20:05:08
    Type t = Farsightedgo.Localization.LanguageManager.Instance.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetProperties()) { if (pi.Name == D...
  • js获取对象属性名

    千次阅读 2020-11-29 00:18:53
    获取一个对象属性名 let obj = {name:tom} let key = Object.keys(obj) conlose.log(key) //name
  • 改变 json 对象属性名

    千次阅读 2018-08-28 18:06:48
    改变一个json对象属性名 details.template是一个json 对象{} 里面有一个children:[] 现在我想把children 这个数组的属性名改为list 用 replace(/children/g, "list")) const template = JSON....
  • 修改对象属性名的两种方法

    千次阅读 2021-09-02 12:45:16
    每天都能遇到奇奇怪怪的问题哈 修改前的数据 let HouChen = [ { name: '羽神', 年龄: 13, sex: '女', userList: [{ id: 1, Z_name: '钢铁侠' }] }, { name: '少主', 年龄: 14, sex: '女', userList: [{ id: 2, Z...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼/*** 根据属性名获取属性值* */private Object getFieldValueByName(String fieldName, Object o) {try {String firstLetter = fieldName.substring(0, 1).toUpperCase()...
  • JS遍历对象修改属性名

    千次阅读 2021-01-05 13:57:45
    根据接口返回数据中number属性值,对数据进行截取,并改变属性名. 下面是需要处理的数据 let data = {  value: [  {date: "2021-01", thumb: "1", index: "1"},  {date: "2021-02", thumb: "2", index: "2"},  {...
  • js使用变量作为对象属性名 ヤッハロー、Kaiqisanすうう、一つふつうの学生プログラマである, 上一篇文章刚好讲了Map对象,它有一个特征就是可以使用参数决定它的属性值(“键"或者可以叫做每一个成员的第一个值)...
  • let object= { name:'李莉莉', age:25, sex:'女' } for (const key in object) { console.log(key) // ------属性 console.log(object[key])// ------属性值 }
  • js 更改对象中的属性名

    千次阅读 2019-07-22 17:30:52
    网上大多是利用JSON转为字符串再进行替换修改属性名 var bbb = JSON.parse(JSON.stringify(aaa).replace(/Name/g,"title")); 这样做会有2个缺点,1.如果属性值匹配到会被更改 2.属性名中有部分匹配到也会被更改 ...
  • js改变对象属性名方法

    千次阅读 2019-04-19 11:33:56
    根据接口返回数据中number属性值,对数据进行截取,并改变属性名.直接上码: 下面是需要处理的数据 let data={"minValue":7400, "maxValue":"18500", "value":{ "value":[ ...
  • JS对象属性名用变量表示

    千次阅读 2020-11-10 16:12:14
    这里可以看到第二个属性名是字符串拼接的,且第一个为变量,如果想直接用变量可写成[this.ruleForm.container_type] let params = { base_info: { app_sub_type: this.ruleForm.app_sub_type, app_type: this....
  • 数据源: tripData=[{"ID":1,"票号":"104-0000000001","订单编号":"1326011"}, {"ID":2,"票号":"104-0000000002","订单编号":"1326012"}, {"ID":3,"票号":"104-0000000003","订单编号":"1326013"}] ...
  • Js 修改对象数组里的对象属性名

    千次阅读 2021-02-04 15:36:05
    假设,我们从后端取回来的Json对象数据中,有某些属性名不是我们想要的,就需要给它们重新命名。 方法: // array为数组,old_name为修改前属性名,new_name为修改后属性名 JSON.parse(JSON.stringify(array)....
  • 获取对象属性名

    千次阅读 2019-10-17 13:51:05
    Object.keys(对象)
  • JavaScript 对象可计算的属性名

    千次阅读 2022-07-31 16:18:39
    JavaScript中可以通过点号(.)或者方括号([])与属性名结合访问对象属性,但是如果属性名包含了特殊符号或中文,亦或是需要通过计算才能够得到属性名,则用方括号和计算组合获取。
  • js 替换数组对象属性名

    千次阅读 2020-10-29 11:24:43
    //这里的nick_name为目标属性名 elem['job'] = elem.work // 这里的job为目标属性名 delete elem.name; delete elem.work }) return list } console.log(changeKeys(jobList)) 法二:原声的Object方法(针对...
  • //要排序的对象 var obj = {name: "zhangsan"... //先用Object内置类的keys方法获取要排序对象属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组 var newkey = O...
  • //user对象 user.setName("乔夏科"); user.setAge("24"); user.setGender("男"); Field[] fields = user .getClass().getDeclaredFields();//通过反射获取到该对象 for (Field field : fields) { field....
  • 但是当我们遇到需要给对象动态添加属性和属性值时,点获取法好像就不方便了,尤其是我们不知道属性名的时候更麻烦。简短的回答是“有特别的顺序”整数属性会被进行排序,其他属性则按照创建的顺序显示。计算属性的...
  • js获取json对象属性名!

    万次阅读 2021-04-14 17:50:09
    //获取json的属性名 let arring = { age:'23',name:'fant',id:2121 } for(var k in arring){ console.log('属性名',k) //属性名 console.log('属性值',arring[k]) //属性值 } //控制台打印 属性名 age ...
  • 因此严格上以上方法效率较高却不准确~ 下面来看一下方法2:通过数组方法map()修改属性名。 通过数组方法map()修改属性名。 例如:let res = data.map(item=>{return {name:item.title,code:item.id}}); 代码: ...
  • 如何更改对象属性名

    千次阅读 2020-01-14 22:49:17
    如何更改对象属性名 先使用JSON.stringify方法把对象转换成JSON格式,然后通过replace方法替换对应的属性名,可以用正则表达式来替换,/g表示全局替换该字符串 最后再通过JSON.parse方法把JSON格式转换成对象格式 ...
  • js修改数组对象属性名

    千次阅读 2020-11-02 15:54:19
    我是在用mui框架的picker选择器时,`发现添加的数组不显示,仔细看才发现好像数组对象有固定的属性名称value和text,如下所示 picker.setData([{value:'zz',text:'智子'}]); 我从后台拿到的数组是这样的 ...
  • js动态设置对象属性名与属性值

    万次阅读 2018-07-20 13:37:49
    动态给 object 添加属性名: “name1” 与属性值: "value1"。期望得到如下格式对象 object={ "name":value } 操作如下: let name = "name", value = value; object[name] ...
  • js对象属性名是中文如何点出来?

    千次阅读 2019-11-26 13:57:28
    今天在做项目的时候遇到了返回中文命名的数据如图: 可以这样点出来 如下 let data={总收入:1088699.67,总订单:4455,总客户:4260} this.smg = data["总客户"];

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,737,849
精华内容 695,139
关键字:

对象名属性名