有时候像后端获取到的数据可能不是我们想要的,有时候后端好说话的后端帮忙转换,但有时候还是需要我们自己去转换
对象转化为数组
首先要先定义一个空的数组,然后将要转化的对象利用for in循环每一项,然后在定义一个新的对象,新对象的key就是旧对象的key,新对象的key值就是旧对象的key值,后面将新的对象push到我们定义的空数组就可以了
var obj = {
name: '张三',
sex: '男'
}
var list = []
for (let i in obj) {
let lnt = {}
lnt[i] = obj[i]
list.push(lnt)
}
console.log(list) // [{name: "张三"},{sex: "男"}]
数组转化为对象
Object.assign()将数组中的以对象的形式合并成一个对象
reduce方法将数组转为对象
var arrObj = [{name: "张三"}, {sex: "男"}]
// 方法一
console.log(Object.assign({}, ...arrObj)); //{name: "张三"sex: "男"}
//方式二
var result = arrObj.reduce(function(result, current) {
for (var key in current) {
if (current.hasOwnProperty(key)) {
result[key] = current[key];
}
}
return result;
}, {});
console.log(result); //{name: "张三"sex: "男"}