需求:原始資料按照指定順序進行排序,原始資料中其餘資料依次進行排序
指定順序資料:
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中沒有'' 則無需此操作
輸出結果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLmZGN1EDOmJTZkJTOiZmZ5U2M3QzYjBjY5ETM4MDN4AzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)