精华内容
下载资源
问答
  • js改变对象属性名方法

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

    根据接口返回数据中number属性值,对数据进行截取,并改变属性名.直接上码:

    下面是需要处理的数据

     let  data={"minValue":7400,
                        "maxValue":"18500",
                        "value":{
                                "value":[
                                        {"dmdDate":"2019-05","dmdAppValue":"9999"},
                                        {"dmdDate":"2019-06","dmdAppValue":"8888"},
                                        {"dmdDate":"2019-07","dmdAppValue":""}
                                        ],
                                "number":2
                                }
                        }

    根据number值对数据截取

    var num=data.value.number;// 2
    var arr=data.value.value.slice(0,num);

    改变属性的方法

    方法一:

    var arr2 = JSON.stringify(arr).replace(/dmdDate/g, "leftText").replace(/dmdAppValue/g, "value");
    console.log(arr2)   //  [{"leftText":"2019-05","value":"9999"},{"leftText":"2019-06","value":"8888"}]
    var arr3=JSON.parse(arr2)   
    console.log(arr3)  //arr3为属性名改变后的数据

    方法二:

    var key1="leftText",key2="value";
       for(var i=0;i<arr.length;i++){
            arr[i][key1]=arr[i].dmdDate
            arr[i][key2]=arr[i].dmdAppValue
            delete arr[i].dmdDate
            delete arr[i].dmdAppValue
        }
     //   console.log(key1,key2)
     console.log(arr)      //arr为属性改变后的数据

    总结:竟然实现了!  竟然实现了!  竟然实现了!

    展开全文
  • Js 修改对象数组里的对象属性名

    千次阅读 2021-02-04 15:36:05
    // array为数组,old_name为修改属性名,new_name为修改属性名 JSON.parse(JSON.stringify(array).replace(/old_name/g, 'new_name')) 解释: JSON.stringify() 把json对象 转成 json字符串 使用正则的 ...

    假设,我们从后端取回来的Json对象数据中,有某些属性名不是我们想要的,就需要给它们重新命名。

    方法:
    // array为数组,old_name为修改前属性名,new_name为修改后属性名
    JSON.parse(JSON.stringify(array).replace(/old_name/g, 'new_name')) 
    
    解释:
    1. JSON.stringify() 把json对象 转成 json字符串
    2. 使用正则的 replace() 方法替换属性名
    3. JSON.parse() 再把json字符串 转成 json对象

    ·

    如需修改多个属性:

    可以多次调用replace方法

    JSON.parse(JSON.stringify(array).replace(/old_name1/g, 'new_name1').replace(/old_name2/g, 'new_name2').replace(/old_name3/g, 'new_name3'))
    
    展开全文
  • 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、公众号:公众号「进军全栈攻城狮」 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!

                                                      

     

     

    展开全文
  • Data: { "TotalCount": 6, "Entitys": [ { "Id": 5, "ParentId": 0, "Name": "26767", "Label": "26767"...
    Data: {
      "TotalCount": 6,
      "Entitys": [
        {
          "Id": 5,
          "ParentId": 0,
          "Name": "26767",
          "Label": "26767",
          "Remark": "2",
          "Children": [ // ->children
            {
              "Id": 6,
              "ParentId": 5,
              "Name": "3",
              "Label": "3",
              "Remark": null,
              "Children": {
                "Id": 6,
                "ParentId": 5,
                "Name": "3",
                "Label": "3"
              }
            }
          ]
        },
        {
          "Id": 7,
          "ParentId": 0,
          "Name": "string",
          "Label": "string",
          "Remark": "string",
          "Children": null
        },
        {
          "Id": 12,
          "ParentId": 0,
          "Name": "67",
          "Label": "67",
          "Remark": "",
          "Children": null
        },
        {
          "Id": 13,
          "ParentId": 0,
          "Name": "67",
          "Label": "67",
          "Remark": "",
          "Children": null
        },
        {
          "Id": 14,
          "ParentId": 0,
          "Name": "666665555",
          "Label": "666665555",
          "Remark": "",
          "Children": null
        },
        {
          "Id": 15,
          "ParentId": 0,
          "Name": "67",
          "Label": "67",
          "Remark": "",
          "Children": null
        }
      ]
    }

     

    let yy = JSON.stringify(this.Data)
    String.prototype.replaceAll = function (FindText, RepText) {
      let regExp = new RegExp(FindText,'g');
      return this.replace(regExp, RepText);
    }
    console.log(JSON.parse(yy.replaceAll('Children','replaceChild')));

     

    展开全文
  • 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"},  {...
  • 如何更改对象属性名

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

    千次阅读 2020-09-16 10:02:04
    var obj = [ { "name":"zhangsan", "age":20 }, { "name":"lisi", "age":22 } ] var newObj = JSON.parse(JSON.stringify(obj).replace(/name/g, 'title')) 如果value和key同名,有问题 ... item ...
  • let data=[ { desc: ‘超清’,thumb:‘1’, code_url: ‘https://media.w3.org/2010/05/sintel/trailer.mp4’ }, { desc: ‘高清’,thumb:‘2’, code_url: ‘http://vjs.zencdn.net/v/oceans.mp4’ }, ...
  • js高效修改对象数组里的对象属性名

    千次阅读 2019-04-18 10:44:31
    一般修改对象数组的对象属性名,最简便的就是通过遍历对象数组的方法进行修改,但是用这个方法,如果处理的数据量很大,它的执行效率是非常低的。下面介绍一个更高效的方法,即通过正则的方法进行过滤修改。 JSON...
  • 今天小编就为大家分享一篇vue修改对象属性值后页面不重新渲染的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • js 更改对象中的属性名

    千次阅读 2019-07-22 17:30:52
    网上大多是利用JSON转为字符串再进行替换修改属性名 var bbb = JSON.parse(JSON.stringify(aaa).replace(/Name/g,"title")); 这样做会有2个缺点,1.如果属性值匹配到会被更改 2.属性名中有部分匹配到也会被更改 ...
  • 在做东钿业务系统的时候,经常碰到写很多重复的ajax对接,于是就想封装一个方法,但是接收data的字段名不一样,所以就需要用到动态对象属性名这个写法了。其实很简单。直接看一下代码吧。 转载于:...
  • js修改数组对象里的对象属性名

    千次阅读 2020-12-08 11:03:20
    js修改数组对象里的对象属性名 有时候前端请求接口返回的数据,并不是我们想要的数据格式,一般我们会使用map等方法遍历修改属性名,但如果数据量很大或者数组对象的嵌套复杂,这种方法容易降低效率,下面我们使用...
  • 改变 json 对象属性名

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

    千次阅读 2020-11-02 15:54:19
    我是在用mui框架的picker选择器时,`发现添加的数组不显示,仔细看才发现好像数组对象有固定的属性名称value和text,如下所示 picker.setData([{value:'zz',text:'智子'}]); 我从后台拿到的数组是这样的 ...
  • 一、JavaScript中对象属性名以短横线改变为驼峰命名 二、实现步骤 1.封装函数对对象进行遍历 代码如下(示例): function deepNewObj (obj) { let deepObj = {} for (let key in obj) { deepObj[getKey(key)] ...
  • js 改变数组中每条对象属性名

    千次阅读 2019-11-28 09:43:57
    一、改变一个属性名: 数据量少可以,多了比较耗性能 <html lang="en"> <head> <meta charset="UTF-8"> <title>jstitle> head> <body> <script> var json = [ { day: '2018-12-26 14:31:55' }, { day: '2018-12-27 ...
  • js高效更改对象属性名

    万次阅读 多人点赞 2018-05-08 14:01:30
    一个json对象:var json = [ { "Id":"3972679ef2c04151972b376dd88e6413", "T_CourseId":"7a4494aae1804d3e94094583249750fe", "CourseName":"英语&...
  • 主要介绍了详解Vue改变数组中对象属性不重新渲染View的解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • JSON.parse(JSON.stringify(res.data.results).replace(/userAnswer/g, 'answer')) // res.data.results为数组,userAnswer为修改前,answer为修改
  • js改变对象属性名

    千次阅读 2018-05-25 14:47:30
    var arr = [ { "courseName": "语文", "code": "english" }, { "courseName": "数学", "...var a = JSON.stringify(arr).re
  • 【vue】vue修改对象属性

    千次阅读 2020-06-22 13:38:44
    前言 修改对象属性 this.$set(this.data, "key", value) 删除对象属性 this.$delete(this.data, "key") 修改数组属性 this.$set(this.data, index, value) 删除数组属性 this.$delete(this.data, index)
  • javascript修改对象属性的正确姿势

    千次阅读 2019-01-24 10:20:28
    修改对象属性前言Object.assign()...扩展运算符 前言 eslint有一条规则no-param-reassign,意思是禁止修改函数的属性。 若函数的属性是对象,此时不能修改对象属性。有什么方法呢? 方法有二种,如下: var obj = { ...
  • java反射之对象属性操作
  • JS修改对象属性的值

    千次阅读 2020-09-18 10:06:07
    当对象以数字为属性名时,其实就是一个数组,用[’’] var foo={1:'a',2:'b'} foo['1']='c' console.log(foo) // { 1: "c", 2: "b" } 当对象以字符为属性名时,直接用.获取属性值 ...可以存取对象属性值。
  • 修改数组中对象属性名,原格式: 将数组转换为字符串,替换字符,再转换为 json 格式,如下: //res.data.data.titlesModelList 为 原数组 this.templateRuleData[0].dropDownOptionList = JSON.parse( JSON....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,656,038
精华内容 662,415
关键字:

改变对象的属性名