将数组按照指定的顺序排序处理

需求:原始数据按照指定顺序进行排序,原始数据中其余数据依次进行排序

指定顺序数据:


let arr = ['北京','上海', '深圳', '天津', '']

备注: 如果只按照’北京’,‘上海’, ‘深圳’, ‘天津’ 排序的话 数组中去掉‘’空字符串, 下面的逻辑处理中也就不需要去重操作

原始数据:

let rows = [
  {
    
    
    name: '西安',
    cityCode: 2001
  },
  {
    
    
    name: '上海',
    cityCode: 1002
  },
  {
    
    
    name: '重庆',
    cityCode: 2003
  },
  {
    
    
    name: '北京',
    cityCode: 1001
  },
  {
    
    
    name: '石家庄',
    cityCode: 2009
  },
  {
    
    
    name: '邯郸',
    cityCode: 2007
  },
  {
    
    
    name: '深圳',
    cityCode: 2005
  },
  {
    
    
    name: '南京',
    cityCode: 2004
  },
  {
    
    
    name: '天津',
    cityCode: 1004
  },
]

排序:

let newarr = []  // 排序后的新数组
arr.map(num => {
    
    
  rows.map(item => {
    
    
    if (item.name.indexOf(num) > -1) {
    
    
      newarr.push(item)
    }
  })
})
console.log([...new Set(newarr)])  // 进行去除操作, 如果arr中没有'' 则无需此操作

输出结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaofiy/article/details/128913788