最近公司事情巨多,整日折腾公司的上古backbone框架,让我头疼不已,说好的最少1周1次blog的更新也多次delay,再努力吧,毕竟开头难,养成习惯也难。
数组对象
按照数组中对象的某一属性大小进行排序
1 | array.sort(function(a,b){ //升序 |
按照数组中对象的某一属性是否重复进行去重
1 | //使用数组的reduce方法 |
纯数组
排序
- js自带sort排序
1 | var arr = [1,8,3,4,5,9,3,6,]; |
对于数值类型或者其valueOf()方法会返回数值类型的对象类型,可以使用以上方法 –《javascript高级程序设计》
- 冒泡排序
1 | var arr = [1,8,3,4,5,9,3,6,]; |
- 选择排序
1 | // 内层循环获取这轮循环的最小值,与arr[i]交换 |
- 插入排序
1 | var arr = [8,2,3,4,5,9,3,6]; |
- 归并排序
1 | var arr = [1,8,3,4,5,9,3,6,7]; |
- 快速排序
快速排序是最优的排序方法,基于“分治思想”,选取一个“基准数”pivot,将小于pivot的数放左边,大约pivot的放右边,然后对左右分别再次“分治”。根据pivot选取的不同,排序的复杂度从O(n2)->O(nlogn),这个算法的重点在于是在本地对数组进行排序,不需要引入额外空间。参看链接:Quick Sort
1 | var arr = [1,8,3,4,5,9,3,6,7]; |
去重
1 | var arr = [8,2,3,4,5,4,3,6,8]; |