js复杂对象和简单对象的简单转化
var course = {teacher :{teacherId:001,teacherName:"王"},course : {courseId : 120,courseName : "开心一笑"},admin : "班主任" } var obj_help = {obj_tansform: function (data, temple) {//子对象转化为指定结构的复杂对象var _self = this;var callee = function (obj) {for (key in obj) {if (typeof obj[key] === "object" && (!_self.obj_isArray(obj[key]))) {obj[key] = callee(obj[key]);} else {obj[key] = data[key] ? data[key] : "";}}return obj;}return callee(temple);},obj_revange: function (data) {//转化为简单对象(不存在子对象)var _self = this;var _data = {};var Rcallee = function (obj) {for (key in obj) {if (typeof obj[key] === "object" && (!_self.obj_isArray(obj[key]))) {obj[key] = Rcallee(obj[key]);} else {_data[key] = obj[key];}}}Rcallee(data);return _data;},obj_isArray: function (arr) {return arr != null && typeof arr === "object" && 'splice' in arr && "join" in arr;},removeBlank: function (str) {try {return str.replace(/(^\s*)|(\s*$)/g, "");} catch (e) {console.log(str);}} } console.log(obj_help.obj_revange(course));
View Code
输出结果
倘若这样调用
var teacherMes = {teacherName:"",course:{teacherId :"",courseMes :{courseId:"",courseName:"",admin:""}} } var data = obj_help.obj_revange(course);console.log(obj_help.obj_tansform(data,teacherMes));
View Code
那么输出结果
第一个函数是按照你给的模版初始化对象,第二个是把复杂的对象的子对象的属性全部提取到同一个对象下,
实际的可以使用的地方并不少,比如后台返回的json是一个复杂的对象,那么你可以直接简单化处理,同样提交数据时使用按照模版格式化数据后提交。
可以大大的减少由于属性在子对象下造成的困扰。
转载于:https://www.cnblogs.com/ertang/p/6253375.html
js复杂对象和简单对象的简单转化相关推荐
- JS中将对象转化为数组,数组转对象
https://www.cnblogs.com/wancheng7/p/8735168.html 对象的两种取值方式 我们都知道,JS中对象有两种取值方式,通过在.后面直接加属性名取值,这也是我们最常 ...
- js将url地址中的信息转化为对象obj
js将url地址中的信息转化为对象obj function urlToObj(str) {let obj = {};let str1 = str.split("?");let st ...
- Js数组转对象(特殊格式)和 JS中将对象转化为数组
Js数组转对象(特殊格式)和 JS中将对象转化为数组 数组转化为对象特殊格式 arr:[ { } ,{ },{ }] 转化为obj:{ { },{ },{ } } 利用ES6语法: let obj = ...
- Three.js相机对象(正投影OrthographicCamera、透视投影PerspectiveCamera)
Three.js相机对象(正投影OrthographicCamera.透视投影PerspectiveCamera) Three.js相机对象(正投影OrthographicCamera.透视投影Per ...
- Node.js 全局对象
Node.js 全局对象 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 gl ...
- java 父类转子类_Java多态,对象转型,和简单工厂模式。希望对您有帮助!
各位读者老爷们大家好鸭~图图又来了,今天我们要说一下"多态". 怎么理解这两个字呢?可以理解为同一个引用对象的不同表现形态,即将父类的引用指向子类的对象.这是比较官方的书面解释,大 ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- html制作统计期末成绩,JS-结合html综合练习js的对象——班级成绩表制作
对象综合练习 body { font: 14px "微软雅黑"; } span { padding: 5px; } table { margin: 0 auto; border: ...
- js Date对象总结
Date在js中和Array类似,都是拥有自己的特殊方法的特殊对象. 由于平常用到Date着实不多,对它的了解颇浅.上周被问到怎么样获取某年某个月的天数,我当时想了一会儿,回答说有两种,一种自己写判断 ...
- json java typeof_Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
最新文章
- Yann LeCun最新文章:自监督学习的统一框架
- 2.登录linun 输入密码登录不进去 进入单用户模式 修改 然后reboot
- 主板uefi和传统引导方式区别_反吊膜与传统污水池加盖方式有什么区别
- Python数据结构与算法(第三天)
- 如何优化Hive SQL ??
- 用拖拉实现设备驱动配置(EsayHMI最新驱动配置方式)
- Python递归通用接口响应深层提取
- Python爬虫从入门到放弃(十三)之 Scrapy框架的命令行详解
- Microsoft Active Directory(LDAP)连接常见错误代码
- c语言 怎么把数据存储,急求如何将下列C语言程序数据存储到文件中?
- 《数据挖掘导论》实验课——实验七、数据挖掘之K-means聚类算法
- 系统异常日志处理的思考
- android 5.0设备 外接键盘 输入中文
- 别人恃才自傲,你却虚怀若谷。——保持谦虚
- 09-一篇带你熟练使用多线程与原理「Thread」
- OMIM使用简要说明
- 干货 | 日部署 6000 次,携程持续交付与构建平台实践
- 响应式pbootcms教程资讯新闻博客类网站模板
- 计算机组成原理中fa代表什么,计算机组成原理名词解释
- 合肥市直计算机知识pdf,事业单位计算机基础知识题库(全).pdf