我有一个数组:['B', 'D', 'I', 'M', 'Other', 'T', 'U']。
我想将它排序为:['T', 'B', 'D', 'I', 'M', 'U', 'Other']。
我应该如何使用 JavaScript 实现它?
我想将它排序为:['T', 'B', 'D', 'I', 'M', 'U', 'Other']。
我应该如何使用 JavaScript 实现它?
你是否只是想将这个确切的数组中的两个值移动到数组的其他位置?如果是这样,假设你的原始数组名为arr
,你可以这样做:
let startSplice = arr.splice(5,1)
let endSplice = arr.splice(4,1)
arr.unshift(startSplice[0])
arr.push(endSplice[0])
arr.sort((a,b) => {
if (a === 'Other') {
return 1
} else if (a === 'T') {
return -1
} else if (b === 'Other') {
return -1
} else if (b === 'T') {
return 1
} else {
return 0
}
})
const
array = ['B', 'D', 'I', 'M', 'Other', 'T', 'U'],
order = { T: -1, Other: Number.MAX_VALUE };
array.sort((a, b) => (order[a] || 0) - (order[b] || 0));
console.log(...array);
sort((x) => x ==='T'? -1 : x === 'Other' ? 1 : 0 )
- Denis