sort二次排序
js数组sort排序规则
实现一个数组排序函数
对数组[ “A华北”, “A华南”,“B华南”,“A华东”,“B华东”,“A华西”, “C华北”,“A华东” ];
排序为[‘A华东’, ‘A华东’, ‘A华南’, ‘A华西’, ‘A华北’, ‘B华东’, ‘B华南’, ‘C华北’]
排序规则为相同字母A-C开头的A在前面,B、C次之;A相同的情况下按照东南西北排序
function sort(arr) {
const ABCarr = ["A", "B", "C"];
const strArr = ["东", "南", "西", "北"];
const newArr = arr.sort((a, b) => {
let tmpa = ABCarr.indexOf(a.slice(0, 1));
let tmpb = ABCarr.indexOf(b.slice(0, 1));
if(tmpa===tmpb){
tmpa = strArr.indexOf(a.slice(2));
tmpb = strArr.indexOf(b.slice(2));
return tmpa - tmpb;
}
});
return newArr
}
let arr=["A华北", "A华南","B华南","A华东","B华东","A华西", "C华北","A华东" ];
console.log(sort(arr));
————————————————
版权声明:本文为CSDN博主「1̶0̶0̶8̶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44897151/article/details/123093212
js按照特定的中文字进行排序的方法
之前遇到过按照中文字符排序的需求很顺利的解决了,这次是按照特定的中文字进行排序,比如按照保守型,稳健型,平衡型,成长型,进取型进行排序。
可以使用localeCompare() 方法来实现中文按照拼音排序,方法相当简单
var array = ['成长型','稳健型','保守型','稳健型','成长型','进取型','进取型','稳健型','平衡型','成长型','进取型'];
array = array.sort(function compareFunction(item1, item2) {
return item1.localeCompare(item2);
});
按照特定的中文字符进行排序的方法
var array = ['成长型','稳健型','平衡型','保守型','稳健型','成长型','进取型','进取型','稳健型','平衡型','成长型','进取型','保守型'];
var order=['保守型','稳健型','平衡型','成长型','进取型'];
array = array.sort(function compareFunction(item1, item2) {
return order.indexOf(item1)- order.indexOf(item2);
});
js实现汉字排序的方法实现汉字排序的方法本文实例讲述了js实现汉字排序的方法。分享给大家供大家参考。具体如下:<script type="text/javascript"><!--function startSort(){var a=document.getElementById('s').value;a=a.split(',')a.sort();document.getElementById('r1').value=a;a.sort(function(a,b){return a.localeCompare(b)});document.getElementById('r2').value=a;}
<textarea id="s" style="width: 100%; overflow: scroll; word-wrap: normal;" rows="10">张韶涵,b土,abort,张学友,something,苹果,五月天,刘德华,香蕉,apple,范玮琪,阿桑</textarea></p><p style="text-align: center"><input type="button" value="排序测试" onclick="startSort()" style="width: 300px" /></p><p>默认排序结果:
<textarea id="r1" style="width: 100%; overflow: scroll; word-wrap: normal;" rows="10"></textarea></p><p>汉字拼音顺序排序结果:
<textarea id="r2" style="width: 100%; overflow: scroll; word-wrap: normal;" rows="10"></textarea></p
监视窗口视口变化
Vue 实时监听窗口变化实时监听窗口变化 windowresize的两种方法的两种方法主要介绍了Vue 实时监听窗口变化 windowresize的两种方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下下面给大家分享两种方法来介绍Vue 实时监听窗口变化 windowresize,具体内容如下所示:方法一:方法一:First-step : 定义变量data(){ return{ formLabelWidth : '123px' }},Second-step: 根据生命周期 在mounted 中绑定 窗口变化 mounted(){ const that = this window.onresize = () => { return (() => { window.screenWidth = document.body.clientWidth that.screenWidth = window.screenWidth })() } },Third-step: 绑定监听 watchwatch: { screenWidth (val) { if (!this.timer) { this.screenWidth = val this.timer = true let that = this setTimeout(function () {
没啥用