前端如何改为后端想要的格式?

前端有这么一数据:

this.regions:[1,2];
this.citys:['shanghai','chongqing'];

后端要求的格式:

area:[
    {
        regions:1,
        citys:'shanghai'
    },
    {
        regions:2,
        citys:'chongqing'
    }
]

这样的话前端该怎么改?


还有另外一种情况:
citys、regions是多选的,长度可能不一致:

this.citys:['shanghai','chongqing','changsha','hunan'];

regions数据可能会很少:

this.regions:[1];

两者的length不一样,这种情况又该如何做?

阅读 2.1k
2 个回答

最简单的就是for循环。

var area = [];
var length = Math.max(length_1, length_2);

for (var i = 0; i < length; ++i) {
  area.push({
    regions: regions[i],
    cities: cities[i],
  });
}

取不到的就是undefined,你可以在我的基础上改改。以及city的复数是cities

两者的length不一样,这种情况又该如何做?

从楼主提出的问题看来,后端认为regioncity是存在对应关系的,不管是1对1还是1对多。而前端认为regioncity是没有关系的。

所以这应该是一个沟通和理解需求的问题吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题