ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

日常中 数组 、正则 、时间等常用操作

2021-04-13 16:31:24  阅读:181  来源: 互联网

标签:val format 正则 replace moment let 日常 数组 id


**数组 浅拷贝 **

 let sortArr = JSON.parse(JSON.stringify(timeArr));
 let Times = _.cloneDeep(oneTimes);

数组 splice 删除

      let findIndex = this.opointTimes.findIndex(
        i =>
          i.id== chooseTime.id
      );
      if (findIndex > -1) {
        this.opointTimes.splice(findIndex, 1);
      } else {
        this.opointTimes.push(chooseTime);
      }

数组 sort 按时间排序

  let events = _.cloneDeep(data) || [];
      events.sort((a, b) => {
        return a.createtime > b.createtime ? -1 : 1;
      });

数组some 判断有没有满足一个

 let isExit = this.opointTimes.some(
        i =>
          i.usedate == t.usedate &&
          i.starttime <= t.starttime &&
          i.endtime >= t.endtime
      );```

正则过滤

time.replace(/:/g, "")

 //过滤掉html标签及空行
  filters: {
    filterHtml(val) {
      if (val) {
        val = val.replace(/<\/?[^>]*>/g, ""); //去除HTML tag
        val = val.replace(/&nbsp;/gi, "");
        val = val.replace(/[ | ]*\n/g, "\n"); //去除行尾空白
        val = val.replace(/\n[\s| | ]*\r/g, "\n"); //去除多余空行
        val = val.replace(/ /gi, ""); //去掉
      }
      return val;
    }
  },
  
//高亮展示搜索内容
ruleTitle(name) {
      let titleString = name;
      if (!titleString) {
        return "";
      }
      if (this.searchText && this.searchText.length > 0) {
        // 匹配关键字正则
        let replaceReg = new RegExp(this.searchText, "g");
        // 高亮替换v-html值
        let replaceString = `<font color='#F56323'>${this.searchText}</font>`;
        // 开始替换
        titleString = titleString.replace(replaceReg, replaceString);
      }
      return titleString;
    },

moment日期操作

this.moment(date.label).format("YYYYMMDDhhmmss"); //字符串格式化成日期
 this.moment(item.usedate).format("YYYY-MM-DD"),
  this.moment(item.endtime, "hhmm").format("HH:mm"),
  
 //格式化时间
    formatTimeStr(str) {
      let strTime = this.moment(str, "YYYYMMDDhhmmss").format(
        "YYYY-MM-DD HH:mm:ss"
      );
      return strTime;
    },
    
   let nowWeek = this.moment().isoWeekday(); //今天是周几
          let monday1 = this.moment()
            .subtract(nowWeek - 1, "days")
            .format("YYYYMMDD"); //本周一
          let next_monday = this.moment(monday1)
            .subtract(-7, "days")
            .format("YYYYMMDD"); //下周一
          let next_sunday = this.moment(next_monday)
            .add(6, "days")
            .format("YYYYMMDD");  //下周日

          let next_stM = this.moment()
            .month(this.moment().month() + 1)
            .startOf("month")
            .format("YYYYMMDD");//下个月第一天
          let next_endM = this.moment()
            .month(this.moment().month() + 1)
            .endOf("month")
            .format("YYYYMMDD");//下个月最后一天

//计算一天的时间
  getTimes() {
      let arr = [];
      let time = this.moment()
        .hour(7)
        .minute(0);
      for (let i = 0; i < 32; i++) {
        let st = this.moment(time)
          .add(30 * i, "m")
          .format("HH:mm");
        let et = this.moment(time)
          .add(30 * (i + 1), "m")
          .format("HH:mm");
        arr.push({
          st: st,
          et: et
        });
      }
    },
    
   import moment from "moment";
// 俩日期相差多少分钟
export function diffmin(start, end) {
  let dura =
    moment(start).format("x") -
    moment(end).format("x");
  //计算时间差并转换成标准时间单位
  let alldura = moment.duration(dura);
  let diffMins =
    parseInt(alldura.minutes()) +
    parseInt(alldura.hours() * 60) +
    parseInt(alldura.days() * 24 * 60);
  return diffMins;
};         

样式

// css 蓝色小圆点
.budge {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #3f86f7;
  }

// scss中引入图片
.msg-icon {
  background: url("~@/assets/img/msg-icon.png") no-repeat center;
  width: 60px;
  height: 60px;
  background-size: cover;

}
// vue template中引入图片
     <img src="@/assets/img/msg-icon.png" alt="消息" />

// vue data中引入图片
 menu: [
        {
          id: 1,
          name: "首页",
          path: "/index",
          icon: require("@/assets/img/home.png"),
          iconA: require("@/assets/img/home-active.png")
        },
        ]

路由

// 路由跳转上一页
  @click-left="$router.go(-1)"

//跳转到详情页

{
  path: '/manage/detail/:id/:activeTab',
  name: 'ManageDetail',
  component: ManageDetail,
  props: (route) => ({
    id: route.params.id,
    activeTab: route.params.activeTab
  })
},
  this.$router.push(`/detail/${curRes.id}`);

表单

   this.$set(this.Form, upload,id);
    this.$refs["Form"].resetFields();

二维码

  <div id="qrcode" ></div>
import QRCode from "qrcodejs2";
  this.$nextTick(() => {
        let qrcode = new QRCode(`qrcode`, {
          width: 200,
          height: 200,
          text: item.id, // 二维码内容
          colorDark: "#000",
          colorLight: "#fff"
        });
      });

标签:val,format,正则,replace,moment,let,日常,数组,id
来源: https://blog.csdn.net/u010125836/article/details/115484825

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有