我有一个数组["4", "2", "5", "3"]
,为什么排序功能可以正常工作,但反向功能却不能正常工作?
["4", "2", "5", "3"].sort(); //gives me ["2", "3", "4", "5"]
["4", "2", "5", "3"].reverse(); //gives me ["3", "5", "2", "4"]
答案 0 :(得分:4)
reverse()
方法将数组反转就位。第一个数组元素成为最后一个,最后一个数组元素成为第一个。
它只是反转给定的数组,与排序无关。您可以执行array.sort().reverse()
顺便说一句,["4", "2", "5", "3"].sort()
按词法对数组进行排序。
console.log(
["4", "2", "5", "40", "3"].sort() // ["2","3","4","40","5"]
)
如果要根据给定数组的数值对它们进行排序,则必须:
const array = ["4", "2", "5", "3"]
console.log(
array.sort((a, b) => a - b) // asc
)
console.log(
array.sort((a, b) => b - a) // desc
)
答案 1 :(得分:2)
使用这样的排序功能反向:
console.log(["4", "2", "5", "3"].sort().reverse())