我有一个简单的例子,其中对每个minLVL
的prop object
进行数组中的项目重新排序。
但是出于某种原因,它仅在存在上一个和下一个道具时才起作用(如您所见,每个object
都不需要minLVL
字段)。因此,如果minLVL
在某些对象中丢失,则不会将该项目拖到列表的底部,而是停留在相同的位置。
我该如何解决?谢谢
示例:
var h = [
{
ID: 172
},
{
ID: 179,
minLVL: "30"
},
{
ID: 169
},
{
ID: 173
},
{
ID: 167,
minLVL: "25"
},
{
ID: 175,
minLVL: "10"
}
]
var n = h.sort((a, b) => Number(b.minLVL) - Number(a.minLVL))
console.log(n)
答案 0 :(得分:1)
如果排序功能中不存在0
,则可以将这些值默认为:
var h = [{
ID: 172
}, {
ID: 179,
minCrimeLevel: "30"
}, {
ID: 169
}, {
ID: 173
}, {
ID: 167,
minCrimeLevel: "25"
}, {
ID: 175,
minCrimeLevel: "10"
}]
var n = h.sort((a, b) => (Number(b.minCrimeLevel) || 0) - (Number(a.minCrimeLevel)|| 0))
console.log(n)