js排序 二維陣列 英文 中文 方法封裝

2021-08-04 22:23:21 字數 1837 閱讀 7179

在實際業務中,往往會碰到排序的問題,今天我就特地梳理下我常用到的幾個小方法,放到公共util裡能提高不少效率呢!

1.一維陣列排序

(1)js原生sort

/*

* @name 陣列排序

* @param

* list 原始陣列

* mode 預設asc公升序 desc降序

* @author [email protected]

*/function sortarray(list,mode='asc')

else if (mode == 'desc')

}; var res = list.sort(compare);

return res;

}var res = sortarray(arr,'desc')

console.log(json.stringify(res))

(2)快排

var count = 0

var arr = [85, 24, 63, 45, 17, 31, 96, 50]

function quicksort(arr)

var pivotindex = math.floor(arr.length / 2);

var pivot = arr.splice(pivotindex, 1)[0];

var left = ;

var right = ;

for (var i = 0; i < arr.length; i++) else

} count ++

return quicksort(left).concat([pivot], quicksort(right));

};var resarr = quicksort(arr)

console.log('排了' + count + '次')

console.log(resarr)

2.二維陣列排序

var arr = [  

, ,

, ];

/* * @name 陣列按照某一項key值排序

* @param

* list 原始陣列

* property 需要排的屬性

* mode 預設asc公升序 desc降序

* @author [email protected]

*/function sortarraybyproperty(list,property,mode='asc')

else if (mode == 'desc')

}}; var res = list.sort(compare(property));

return res;

}var res = sortarraybyproperty(arr,'age','asc')

console.log(json.stringify(res))

3.字串排序,按照首字母

(1)英文

var list = [,,];

function stringsort(property)

}console.log(json.stringify(list.sort(stringsort('name'))));

(2)中文

var list3 = [,,,];

function chinesecharacters(property)

}console.log(json.stringify(list3.sort(chinesecharacters('loc'))));

JS二維陣列排序組合

需求是這樣的 這裡簡述一下 現在有乙個不確定長度的陣列.比如 var temp fu hai huan wei you chong tong zhong 每乙個陣列的長計都不確定 如何 遍歷這個陣列 得到如 fuweichong fuweitong 這樣的資料 這是乙個js二維陣列排序組合問題,用遞...

js二維陣列

方法一 直接定義並且初始化,這種遇到數量少的情況可以用 var thearray 0 1 0 2 1 1 1 2 2 1 2 2 方法二 未知長度的二維陣列 var tarray new array 先宣告一維 for var k 0 ktarray k new array 宣告二維,每乙個一維陣列...

js二維陣列新增元素 js 二維陣列

二維陣列的本質 陣列中的元素又是陣列 var arr 1,2,4,6 2,4,7,8 8,9,10,11 9,12,13,15 這就是乙個二位陣列 arr 2 3 11 注意 表示第三列第4行所在的元素。角標從0開始 console.log arr 1 0 a 第2列第1行所在的元素 var arr...