项目上一个模块有一个这样的需求,需要把表单form对象的值转换成字符串拼接到另一个表单上,下面先看下效果图。
这个是动态表单,需要填写值
这个图是转换后的数据
如表单是下面对象
let obj = {id: 1,name: '张三',sex: '男'}
你想转换成,id:1,name:张三,sex:男
如果你有类似的需求,只是拼接的数据格式不一样,修改一下即可
方法1:使用Object.keys()遍历
let arr = []const keys = Object.keys(obj)keys.forEach(key => {arr.push([key, obj[key]].join(':'))})let str = arr.join(',')console.log(str)
方法2:使用for in
let arr =[]for(let key in obj){arr.push(key+':'+obj[key])}let str = arr.join(',')console.log(str)
这里需要了解的一些小知识,简单说一下
for in
循环 , 可以循环出对象里面的所有的key,(key就是属性名);
例:for(let key in obj) {}
Object.keys
(指定的对象),该方法可以获取指定对象的所有key,返回值是一个数组;
Object.values
(指定的对象),该方法可以获取指定对象的所有的value,返回值是一个数组;
对象转字符串:JSON.stringify()
,转换后格式为 {‘id’: ‘11’, ‘name’: ‘张三’}
字符串转对象:JSON.parse()