调用高德地图web API时返回数据太多且无用,以下处理只保留省市区地名

先请求高德API

const url = "https://restapi.amap.com/v3/config/district?keywords=&subdistrict=3&extensions=base&key=你的KEY"
axios.get(url).then((res) => {})

利用递归处理数据

const url = "https://restapi.amap.com/v3/config/district?keywords=&subdistrict=3&extensions=base&key=你的KEY"
axios.get(url).then((res) => {
      let arr = [];
      //定义递归函数
      const fun = (districts, arr) => {
        districts.forEach((item, index) => {
          arr.push({
            name: item.name,
            districts: [],
          });
          if (item.districts.length != 0) {
            fun(item.districts, arr[index].districts);
          } else {
            delete arr[index].districts;
          }
        });
      };
      
      fun(res.data.districts, arr);
      
      console.log(arr);
})
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐