需求:原始数据按照指定顺序进行排序,原始数据中其余数据依次进行排序
指定顺序数据:
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中没有'' 则无需此操作
输出结果: