美文网首页
写代码的技巧方法(日常整理)

写代码的技巧方法(日常整理)

作者: 大佬教我写程序 | 来源:发表于2021-08-14 19:28 被阅读0次

    切割单位,进行单位换算(在小数点后面有超过三位数字时,四舍五入保留三位小数):

    • str.split.('a'), 当a不存在的时候,就会生成只有一个元素的数组,当str就是a的时候就会生成长度为2的数组,['','']
    storage_filter(storage) {
          const split = /(-?[0-9.]+)\s*(.*)/.exec(storage);
          console.log(split);
          const unit = split[2];
          const amount = split[1];
          let result;
          if (unit === 'Gi') {
            result = amount / 1;
          } else if (unit === 'Mi') {
            result = amount / 1024;
          } else if (unit === 'm') {
            result = amount / 1024 / 1024 / 1024 / 1000;
          }
          console.log(result);
          if (result.toString().split('.')[1] && result.toString().split('.')[1].length > 3) {
            result = result.toFixed(3);
          }
          result = `${result} GiB`;
    
          return result;
        },
    
    split

    vue2中监听函数的写法

    rows: {
          immediate: true,
          handler(rows) {
            console.log(rows)
          },
        },
    

    父传子的数据,子不宜直接进行改变,但是又要实现双向绑定

    解决方法:

    <GBform v-bind="searchFormConfig" v-model="formData"/>
    
     const formData = reactive({
          id: '',
          name: '',
          password: '',
          sport: '',
          createTime: ''
        })
    
    props: {
        modelValue: {
          type: Object,
          required: true
        }
    },
      emits: ['update:modelValue'],
      setup(props, { emit }) {
        const formData = ref({ ...props.modelValue })
        watch(
          formData,
          (newValue) => {
            console.log(newValue)
            emit('update:modelValue', newValue)
          },
          {
            deep: true
          }
        )
    
        return {
          formData
        }
      }
    

    element表单里面卡插槽

    data


    往插槽里放东西

    注册全局函数之Utc时间格式化

    • 实现全局类


    • 格式化方法实现


    方法名字符串拼接的时候,要求中间拼接的字符串首字母大写

    • 将一个字符串首字母转换成大写的方式
    function firstToUpper1(str) {
    //先去掉字符串两边的空格---全部转换成小写--将首字母大写之后进行覆盖
      return str.trim().toLowerCase().replace(str[0], str[0].toUpperCase())
    }
    //注意哦,这里的字符串前后是有空格的
    let arr = '  agfgfvsgv  '
    const result = firstToUpper1(arr)
    console.log(result)
    
    • 实现字符串的翻转
    let str = 'ghsahv'
    //先将字符串转换成数组,调用反转函数,然后再拼接成字符串
    let newStr = str.split('').reverse().join('')
    //newStr
    console.log(newStr)
    
    • 实现数组去重
    var str = 'asdffgwqqwssaxcvfghhdqwsda'
    function quchong(str) {
      var newStr = ''
      for (var i = 0, len = str.length; i < len; i++) {
          //(str.indexOf(str[i]) == i)   也行哦
         if (newStr.indexOf(str[i]) == -1) {
          newStr += str[i]
        }
      }
      return newStr
    }
    console.log(quchong(str))
    

    跨级使用插槽


    image.png

    相关文章

      网友评论

          本文标题:写代码的技巧方法(日常整理)

          本文链接:https://www.haomeiwen.com/subject/rfgsbltx.html