js 数组按照某种顺序去重排数组

需求:

右边地市返回的接口参考链接:

http://datav.aliyun.com/portal/school/atlas/area_selector#&lat=32.06075976453839&lng=117.26625750000005&zoom=6.5

原始表格数据:

  tableData: [{
    date: '2016-05-02',
    name: '太原',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    date: '2016-05-04',
    name: '大同',
    address: '上海市普陀区金沙江路 1517 弄'
    }, {
    date: '2016-05-01',
    name: '晋中',
    address: '上海市普陀区金沙江路 1519 弄'
    }, {
    date: '2016-05-03',
    name: '朔州',
    address: '上海市普陀区金沙江路 1516 弄'
    }, {
    date: '2016-05-04',
    name: '忻州',
    address: '上海市普陀区金沙江路 1517 弄'
    }, {
    date: '2016-05-01',
    name: '吕梁',
    address: '上海市普陀区金沙江路 1519 弄'
    }, {
    date: '2016-05-03',
    name: '运城',
    address: '上海市普陀区金沙江路 1516 弄'
    }, {
    date: '2016-05-04',
    name: '晋城',
    address: '上海市普陀区金沙江路 1517 弄'
    }, {
    date: '2016-05-01',
    name: '长治',
    address: '上海市普陀区金沙江路 1519 弄'
    }, {
    date: '2016-05-03',
    name: '阳泉',
    address: '上海市普陀区金沙江路 1516 弄'
    }, {
    date: '2016-05-03',
    name: '临汾',
    address: '上海市普陀区金沙江路 1516 弄'
    }]

渲染效果:

修改过程:有顺序的弄个数组的,然后用find函数去匹配你table数据,生成一个新的数组放到表格数据里

mounted() {
    let that = this;
    //通过给定的ID来发送请求
    axios.get('https://geo.datav.aliyun.com/areas_v3/bound/140000_full.json')
      .then(function (response) {
        console.log(response.data.features);
        let cityArr = []
        response.data.features.map(item=>{
          cityArr.push(item.properties.name) ;
        });
        let newTableArr = []
        console.log(cityArr,"--")
        // for(let i = 0;i<cityArr.length;i++){
        //   for(let j = 0;j<that.tableData.length;j++){
        //     // console.log(cityArr[i],that.tableData[j].name)
        //     if(cityArr[i].includes(that.tableData[j].name)){
        //       newTableArr.push(that.tableData[j])
        //     }
        //   }
        // }
        cityArr.find((item,index)=>{
          that.tableData.find((inner,indexinner)=>{
            if(item.includes(inner.name)){
              newTableArr.push(inner)
            }
          })
        })
        console.log(newTableArr,"--newTableArr")
        newTableArr.map(item=>{
          console.log(item.name)
        })
        setTimeout(() => {
           that.tableData = JSON.parse(JSON.stringify(newTableArr))
        }, 1000);
        
      }).catch(function (err) { 
        console.log(err); 
      });
  },

修改后的表格渲染:这样,左边表格的地市顺序就按照右边的地市顺序渲染了

ok ,大功告成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值