当前位置:   article > 正文

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

vue数组转换对象

数组转对象

转换前为数组:

转换为对象的效果图:

 

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

  1. methods: {
  2. // 数组转对象方法
  3. arrayToObject (arr) {
  4. let map = {};
  5. arr.forEach (item => {
  6. map[item.prop] = {label: item.label, color: item.color, size: item.size};
  7. });
  8. return map;
  9. },
  10. //需要使用数组转对象的方法
  11. getData(){
  12. let newObj= this.arrayToObject(this.editScreenVenue);
  13. console.log(newObj,'newObj');
  14. }
  15. }

数组对象的相互转换

  1. mounted() {
  2. 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"}}';
  3. let json = JSON.parse(str);
  4. let editScreenVenue = Object.entries(json).map(([prop, {label, color, size}]) => ({
  5. label,
  6. prop,
  7. size,
  8. color,
  9. }));
  10. console.log(editScreenVenue,'json转数组');
  11. },
  1. mounted() {
  2. let editScreenVenue = [
  3. {label:'姓名', prop: 'name', size:'12',color: "#000",sort:0},
  4. {label:'单位(公司)', prop: 'company',size:'12',color: "#000",sort:1},
  5. {label:'手机号', prop: 'phone',size:'12',color: "#000",sort:2},
  6. {label:'职务', prop: 'job',size:'12',color: "#000",sort:3},
  7. ];
  8. let result = editScreenVenue.reduce((accumulator, current) => {
  9. accumulator[current.prop] = {
  10. size: current.size,
  11. color: current.color,
  12. lable: current.label,
  13. };
  14. return accumulator;
  15. }, {});
  16. console.log(result,'数组转对象');
  17. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/30007?site
推荐阅读
相关标签
  

闽ICP备14008679号