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定义数据类型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...