const arr1 = [{ a: 1, b: 1 }, { a: 3, b: 0 }, { a: -1, b: 1 }, { a: 3, b: 1 }]
const arr2 = [{ a: { b: 3 } }, { a: { b: 1 } }, { a: { b: 2 } }, { a: { b: 1 } }]
interface CompareFn<T> {
(a:T):number
}
function sort (arr:T[], compareFn:CompareFn, asc:boolean){
for( let i = 0 ; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - i -1 ; j++) {
if(asc){
if( compareFn(arr[j]), compareFn(arr[j+1]) ) {
let temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
} else {
if( compareFn(arr[j]) , compareFn(arr[j+1]) ) {
let temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
}
return arr
}
sort( arr1, function(a,b){ return a.a - b.a > 0}, true)
sort( arr2, function(a,b){ return a.a.b - b.a.b >0 }, false)
sort 排序,, ts定义数据类型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。