当前位置: 首页 > article >正文

【JS】常用js方法

1、判断是否是数组、字符串等方法

a instanceof b

a是你需要判断的数据

b是判断的类型

//直接判断原型
var a = [1,5,8]
var b = '123456'

console.log(a instanceof Array)//true
console.log(a instanceof String)//false

console.log(b instanceof String)//true

2、分割字符串

a.split(str,num)

a就是需要分割的字符串

str是分隔符,默认是空

num分割的次数

var a ='api/Getuser'
var b = a.split("/");

console.log(b)//['api','Getuser']

3、替换指定字符串

a.replace(old,new)

a就是所替换的字符串所在

old是需要替换的字符串(旧字符串)

new替换成的字符串(新字符串)

var a ='{{url}}/api/GetList'
var b = a.split('/')//先分割字符串
console.log(b) //['{{url}}','api','GetList']

//第一种方法--变量
var c = a.replace(b[0],'http://198.4.100:8090');
//第二种--字符串
var c = a.replace(/{{url}}/,'http://198.4.100:8090');

console.log(c) //'http://198.4.100:8090/api/GetList'

4、数组排序

在表格中进行多选,多选后的数据顺序是根据自己选择的顺序进行排序的。我的需求是把多选后的数据根据id从小到大进行重新排序。

get () {
      this.numbers = [
        { id: 1, zu: '王小虎1', state: 1, },
        { id: 4, zu: '王小虎2', state: 1 },
        { id: 3, zu: '王小虎3', state: 1 },
        { id: 2, zu: '王小虎4', state: 1 },
      ]
 
      var compare = function (prop) {
        return function (obj1, obj2) {
          var val1 = obj1[prop];
          var val2 = obj2[prop];
          if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
            val1 = Number(val1);
            val2 = Number(val2);
          }
          if (val1 < val2) {
            return -1;
          } else if (val1 > val2) {
            return 1;
          } else {
            return 0;
          }
        }
      }
      this.numbers.sort(compare('id'))
      console.log(this.numbers.sort(compare('id')));
    }

根据name进行排序(字符串),则是按照abc顺序排序

get () {
      var arr = [{ name: "zlw", age: 24 }, { name: "wlz", age: 25 }];
      var compare = function (obj1, obj2) {
        var val1 = obj1.name;
        var val2 = obj2.name;
        if (val1 < val2) {
          return -1;
        } else if (val1 > val2) {
          return 1;
        } else {
          return 0;
        }
      }
      console.log(arr.sort(compare));
    }

5、中文文字均等换行,也就是上下文字尽量一致

文字均等换行的意思就是,如果有10个字就上下显示5个字展示,8个字就上下4个字展示,尽量让两行文字显示相同

我使用的是先获取字符串的长度,然后除以2,看是否除得尽,除得尽就在哪换行,除不尽则加1然后换行

huanhang(_str) {
                var str = _str,
                    result = "";
                // 判断字符串长度多少后除以2,除后有小数点就加1换行,没有则直接换行
                var rep = /[\.]/;
                if (str.length > 5) {//低于5个字就不换行
                    let a = (str.length / 2)
                    if (rep.test(a)) {
                        var n = parseInt(str.length / 2) + 1; //指定第n位换行
                    } else {
                        var n = parseInt(str.length / 2); //指定第n位换行
                    }
                    for (var i = 0, len = str.length; i < len; i++) {
                        result += str[i];
                        if ((i + 1) % n == 0)
                            result += "\r\n";
                    }
                    return result;
                } else {
                    return str
                }
            },

使用:

<text>{{huanhang(SceneData.Title1)}}</text>


http://www.kler.cn/a/1926.html

相关文章:

  • MySQL-存储过程(头歌数据库实验题)
  • Python入门:4.Python中的运算符
  • 百度热力图数据处理,可直接用于论文
  • 数据分析思维(五):分析方法——假设检验分析方法
  • GUI07-学工具栏,懂MVC
  • Springboot应用开发:配置类整理
  • 基于YOLOv5的舰船检测与识别系统(Python+清新界面+数据集)
  • 《高质量C/C++编程》读书笔记一
  • 黑马程序员——前端HTML5+CSS3(女神版)——day01——文本格式化标签、图片标签的title属性、音频标签、视频标签、超链接标签的target属性
  • HTTPS 加密协议
  • Mybatis(一):环境搭建
  • 在script标签写export会抛错
  • 详解结构体内存对齐
  • 学校教的Python,找工作没企业要,太崩溃了【大四真实求职经历】
  • 量子计算(10)量子算法2:Deutsch-Jozsa算法
  • centos yum安装英伟达显卡驱动
  • Intel I210网卡
  • 分享5款让你工作事半功倍的软件
  • C语言数据结构初阶(7)----队列
  • HBase高手之路4-Shell操作
  • 苹果发布无线充新专利,苹果Find My技术成为近几年苹果的重要创新
  • PCIE时钟解说
  • (数据结构)八大排序算法
  • 【绘图】比Matplotlib更强大:ProPlot
  • CLIP:一种基于视觉和语言相互关联的图像分类模型
  • 蓝桥杯刷题冲刺 | 倒计时20天