数组排序sort方法

╄→гoц情女王★ 提交于 2019-12-10 13:03:05

数组排序sort

sort里面不加参数,默认是升序排序

let arr = [1, 8, 2, 9];
arr.sort();
console.log(arr); // [1, 2, 8, 9]

如果想要降序排序,可以加参数改变,如下所示:

let arr = ['a', 'b', 'd', 'c'];
arr.sort(function (a, b) {
	if(a > b){
		return -1;
	}else if(b > a){
		return 1;
	}else{
		return 0;
	}
});

如果数组中的元素是数值类型,如果需要升序排序,那么就返回a - b;如果需要降序排序,那么就返回b-a;,如下所示:

let arr = [1, 5, 3, 7, 6];
arr.sort(function (a, b) {
	return a - b;
});

如果要以数组中字符串长度进行排序,如下所示:

let arr = ['1234', '56', '23980', '234', '7'];
arr.sort(function (a, b) {
	return a.length - b.length;
});

如果要比较数组中的对象中的某个属性值进行排序,如下所示:

let arr = [
{name: 'ww', age: 12},
{name: 'gg', age: 8},
{name: 'uu', age: 69}
];
arr.sort(function (a, b) {
	return a.age - b.age;
});
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!