[Javascript]数组排序说明和举例(包括打乱顺序)

2022-03-03 84点热度 0人点赞 0条评论

RT

可以利用数组的sort()函数对数组进行排序,如果数组的内容是纯数组或者纯文本,那么sort可以不接受任何参数,按照默认升序进行排序,例如

# 对年龄进行排序
const ages = [11, 15, 14, 8];
ages.sort();

# 对姓名排序
var names = ["Terry", "Mike", "Tom"]
names.sort();

如果要对数组进行降序排序(或者直接全部颠倒一下),可以使用reverse()

const ages = [11, 15, 14, 8];
ages.sort();
ages.reverse();

sort还可以接收一个lamda(function)来对指定排序的方法,这样就可以对数组中是一个object的内容自定义排序

function接收一个比值的函数:

function(a, b){return a-b}
当 sort() 函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。
var students = [{age: 16, name: 'Terry'}, {age: 9, name: 'Tom'} , {age: 13, name: 'Annie'}];
console.log(students);

// 按照学生的年龄排序
students.sort((student1, student2) => student1.age-student2.age);
console.log(students);

还可以利用这个比值函数把数组打乱(利用random):

Math.random()是一个0-1之间的数,所以用0.5和Math.random() 就有相同的几率是大于还是小于。

var ages = [11, 15, 14, 8];
ages.sort(function(a, b){return 0.5 - Math.random()});

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论