日常工作笔记~~~~

sort二次排序

js数组sort排序规则

实现一个数组排序函数
对数组[A华北”,A华南”,B华南”,A华东”,B华东”,A华西”,C华北”,A华东” ];
排序为[A华东’,A华东’,A华南’,A华西’,A华北’,B华东’,B华南’,C华北’]
排序规则为相同字母A-C开头的A在前面,BC次之;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));
        //   A 、B、C、排序完毕  进行二次条件排序
        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;}//--></script><p>包含汉字的字符串数组(用逗号","隔开):
<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 () {                // that.screenWidth = that.$store.state.canvasWidth                console.log(that.screenWidth)                // that.init()                that.timer = false              }, 400)            }       } },方法二:在方法二:在vue.2x里面时候,里面时候,mounted 里面可以直接挂载里面可以直接挂载 window.onresize事件。全局监听事件。全局监听 mounted(){       window.onresize = () => {         return (() => {           this.handleLableWidth();         })()       }       this.handleLableWidth();},完全可以做到检测窗口变化总结总结以上所述是小编给大家介绍的Vue 实时监听窗口变化 windowresize的两种方法,
  没啥用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值