修改对象属性名的两种方法
每天都能遇到奇奇怪怪的问题哈
修改前的数据
let HouChen = [{ name: '羽神', 年龄: 13, sex: '女', userList: [{ id: 1, Z_name: '钢铁侠' }] },{ name: '少主', 年龄: 14, sex: '女', userList: [{ id: 2, Z_name: '蜘蛛侠' }] },{ name: '刘备', 年龄: 15, sex: '女', userList: [{ id: 3, Z_name: '绿巨人' }] },{ name: '关于', 年龄: 17, sex: '女', userList: [{ id: 4, Z_name: '美国队长' }] },{ name: '老威', 年龄: 15, sex: '男', userList: [{ id: 5, Z_name: '冲锋侠' }] },{ name: '村长', 年龄: 13, sex: '女', userList: [{ id: 6, Z_name: '峡谷先锋' }] }]
- 通过forEach遍历
function convertKey(arr, key) {let newArr = [];HouChen.forEach((item, index) => {let newObj = {};for (var i = 0; i < key.length; i++) {newObj[key[i]] = item[Object.keys(item)[i]]}newArr.push(newObj);})return newArr;}let HouChen2 = convertKey(HouChen, ['person', 'age', 'sex', 'children',]);
修改后的数据
{ person: '羽神', age: 13, sex: '女', children: [{ id: 1, Z_name: '钢铁侠' }] },{ person: '少主', age: 14, sex: '女', children: [{ id: 2, Z_name: '蜘蛛侠' }] },{ person: '刘备', age: 15, sex: '女', children: [{ id: 3, Z_name: '绿巨人' }] },{ person: '关于', age: 17, sex: '女', children: [{ id: 4, Z_name: '美国队长' }] },{ person: '老威', age: 15, sex: '男', children: [{ id: 5, Z_name: '冲锋侠' }] },{ person: '村长', age: 13, sex: '女', children: [{ id: 6, Z_name: '峡谷先锋' }] }
- 通过递归 可以修改对象数组中对象的属性名
function copyTransFun(arr) {arr.forEach((item, value) => {if (item.name) {item.person = item.name;delete item.name;}if (item.Z_name) {item.Z_person = item.Z_name;delete item.Z_name;}if (item.userList) {item.children = item.userList;delete item.userList;if (item.children.length) {this.copyTransFun(item.children);}}});}copyTransFun(HouChen)
修改后的数据
{ person: '羽神', age: 13, sex: '女', children: [{ id: 1, Z_person: '钢铁侠' }] },{ person: '少主', age: 14, sex: '女', children: [{ id: 2, Z_person: '蜘蛛侠' }] },{ person: '刘备', age: 15, sex: '女', children: [{ id: 3, Z_person: '绿巨人' }] },{ person: '关于', age: 17, sex: '女', children: [{ id: 4, Z_person: '美国队长' }] },{ person: '老威', age: 15, sex: '男', children: [{ id: 5, Z_person: '冲锋侠' }] },{ person: '村长', age: 13, sex: '女', children: [{ id: 6, Z_person: '峡谷先锋' }] }
修改对象属性名的两种方法相关推荐
- Linux修改主机名的两种方法
Linux修改主机名的两种方法 文章目录 先展示一下效果 一.通过hostname命令直接更改主机名(不是永久) 1.显示当前的主机名 2.更改主机名 二.通过修改配置文件(永久改) 1.hostna ...
- Linux 修改主机名的两种方法
Linux 修改主机名的两种方法 一.使用Linux系统命令修改主机名 通过man获取帮助 hostnamectl 用法 修改 重启生效 二.通过修改配置文件修改主机名 编辑配置文件 修改 重启生效 ...
- 修改Tomcat编码方式的两种方法
转载自 修改Tomcat编码方式的两种方法 方法一:推荐,不会影响到其它项目 见我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html 修改方 ...
- 通过计算机名访问电脑 win10,win10通过ip地址查找计算机名的两种方法|win10怎样设置ip地址?...
win10通过ip地址查找计算机名的两种方法 win10通过ip地址查找计算机名的两种方法 图文步骤一: 1.通过"开始"菜单,输入cmd,进入到类dos页面.(也可以通过快捷键: ...
- 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
1. RENAME DATABASE db_name TO new_db_name 这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了. 据说有可能丢失数据.还是不要用的好 ...
- 修改mysql数据库默认字符集_MySQL数据库之修改mysql默认字符集的两种方法详细解析...
本文主要向大家介绍了MySQL数据库之修改mysql默认字符集的两种方法详细解析 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. (1) 最简单的修改方法,就是修改mysql的m ...
- 在装完Linux系统之后自己去修改Swap分区的大小(两种方法)
在装完Linux系统之后自己去修改Swap分区的大小(两种方法)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:o ...
- js对象转换为数组的两种方法
第一种方法: Object.values(obj) 示例: var obj = { name: '小明', age: 22 }; console.log( Object.values(obj) ); ...
- Linux修改root用户密码的两种方法
第一种方法 1.重启系统,按'E'进入编辑内核参数的页面. 2.找到linux行,末尾空格后输入 rd.break 然后按ctrl+x 3. 输入mount | grep sysroot(注意空格)查 ...
最新文章
- 软件Trimmomatic
- 关闭SharePoint 2010 customErrors
- 3.8 注意力模型-深度学习第五课《序列模型》-Stanford吴恩达教授
- js修改mysql数据库数据_Node.js操作mysql数据库增删改查
- Java 关于类的专题
- autowired的对象为null_spring-为什么我的@Autowired对象为null?
- 两篇Science文章揭示癌症治疗中细胞感应氧气的新机制
- Silverlight玩转控件(二)——Canvas布局
- C. Valera and Elections DFS
- 目标检测——YOLOv5的学习笔记
- matlab机器学习库
- 武汉大学计算机学院周维,2016—2017 学年度武汉大学 优秀学生干部和社会活动积极分.PDF...
- Win8.1在关机界面卡住无反应问题的解决
- 5G来临,我们该如何打造自己的家庭数据中心 - 基础篇
- PAT1023 组个最小数给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小例如:给定两个0两个1三个5一个8得到的数字就是10015558
- 【DG】 DataGuard 中处理archive gap的方法
- mac pro M1(ARM)安装:ubuntu虚拟机(四)
- 腾讯CSIG-腾讯云-后台开发-面经(已拿offer)
- 大数据在线实习项目能收获什么呢?
- 本科课程:计算机网络(四)
热门文章
- bing必应壁纸下载器
- python 如何批量给文件加位数相同且统一的序号——文件的批量命名
- SCons简单入门(一)
- 计算机毕业设计Java高校共享单车管理系统(源码+系统+mysql数据库+lw文档)
- 计算机应用基础 双语 答案,计算机应用基础(双语)课件PPTChax
- 福禄克测温仪的使用方法及注意事项
- 【单片机方案】红外测温仪解决方案商技术开发
- Table options do not contain an option key ‘connector‘ for discovering a connector.
- python 破解字体反爬 (二)
- Few-shot Object Detection via Feature Reweighting论文学习以及复现