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

文章讲述了如何使用JavaScript对包含城市名的对象数组进行排序,首先定义了一个指定顺序的数组,然后遍历原始数据,根据指定顺序将符合的城市对象添加到新数组中。最后,通过去重操作得到最终排序结果。若指定顺序数组中无空字符串,则无需额外的去重步骤。

1万+

被折叠的 条评论
为什么被折叠?



