修改json数组中的键名

不想你离开。 提交于 2020-01-10 05:45:04

需求

// 更改前
newArr= [{key: 1, value: 10}, 
               {key: 2, value: 20}, 
               {key: 3, value: 30}]
// 更改后
newArr = [{name: 1, value: 10}, 
               {name: 2, value: 20}, 
               {name: 3, value: 30}]

解决方法1

先将json数据转换为字符串,替换需要更改的键名,再转换为json数据

JSON.parse(JSON.stringify(t).replace(/key/g, "name"))

该方法简单粗暴,可用性较差

解决方法2

由于此时是使用传入的参数直接用于级联选择器,不愿意用递归进行遍历调用

//更改前传入的参数
orgid = [{
  company: null
  id: "17c7c8b2f1f14c1eaa83fc9acee76be9"
  orgname: "极英科技"
  parentid: "0"
  children: [...]
  devList: []
  parentname: null
  }]
//更改后所需要用的参数
orgid = [{
  company: null
  value: "17c7c8b2f1f14c1eaa83fc9acee76be9"
  label: "极英科技"
  parentid: "0"
  children: [...]
  devList: []
  parentname: null
  }]
  /**
  *在级联选择器的 :props="props"设置中更改props的属性如下:
  */
props: {
        emitPath: false,
        checkStrictly: true,
        value: 'id', // 将value值设定为数据的id值
        label: 'orgname', // 将label值设定为数据的label值
        children: 'children',
        lazy: false
      },
/**
*这样更改后的原参数就能够直接变为级联选择器能读取的参数了
*/

方法更为实用且便利

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!