我知道我们可以定义自定义排序函数来对 JSON 对象数组进行排序。但是如果顺序既不是 desc
也不是 asc
,该怎么办呢?例如,假设我的数组如下:
[ {
name: 'u'
},
{
name: 'n'
},
{
name: 'a'
},
{
name: 'n',
}
]
输出应该像这样:
[ {
name: 'n'
},
{
name: 'n'
},
{
name: 'a'
},
{
name: 'u',
}
]
按照所有以n
开头的名字优先排序,然后是其余的名字。我尝试了以下自定义排序函数:
_sortByName(a, b){
if (a.name === 'n'){
return 1;
} else if(b.name === 'n'){
return 1;
} else if(a.name < b.name){
return 1;
} else if(a.name > b.name){
return -1;
}
}
但是物品的排序顺序出现问题了。这里出了什么问题?