vue 数组转对象与对象转数组(对象与数组的相互转换)

133 篇文章 4 订阅
25 篇文章 0 订阅

数组转对象

转换前为数组:

转换为对象的效果图:

 

return{
     editScreenVenue:[
              {label:'姓名', prop: 'name', size:'12',color: "#000",sort:0},
              {label:'单位(公司)', prop: 'company',size:'12',color: "#000",sort:1},
              {label:'手机号', prop: 'phone',size:'12',color: "#000",sort:2},
              {label:'职务', prop: 'job',size:'12',color: "#000",sort:3},
            ],//数组数据
}

 methods: {
// 数组转对象方法
      arrayToObject (arr) {
    let map = {};
    arr.forEach (item => {
      map[item.prop] = {label: item.label, color: item.color, size: item.size};
    });
    return map;
  },
//需要使用数组转对象的方法
  getData(){
  let newObj= this.arrayToObject(this.editScreenVenue);
       console.log(newObj,'newObj');
}
  }

数组对象的相互转换

  mounted() {
 
    let str = '{"name":{"label":"姓名","color":"#e2534d","size":"12"},"company":{"label":"单位(公司)","color":"#8165a0","size":"12"},"phone":{"label":"手机号","color":"#f9974c","size":"12"},"job":{"label":"职务","color":"#ddd8c3","size":"12"}}';
let json = JSON.parse(str);
let editScreenVenue = Object.entries(json).map(([prop, {label, color, size}]) => ({
  label,
  prop,
  size,
  color,
}));
console.log(editScreenVenue,'json转数组');
  },
  mounted() {

    let editScreenVenue = [
  {label:'姓名', prop: 'name', size:'12',color: "#000",sort:0},
  {label:'单位(公司)', prop: 'company',size:'12',color: "#000",sort:1},
  {label:'手机号', prop: 'phone',size:'12',color: "#000",sort:2},
  {label:'职务', prop: 'job',size:'12',color: "#000",sort:3},
];

let result = editScreenVenue.reduce((accumulator, current) => {
  accumulator[current.prop] = {
    size: current.size,
    color: current.color,
    lable: current.label,
  };
  return accumulator;
}, {});

console.log(result,'数组转对象');
  },

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值