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

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

  • 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)
      },
    },

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

解决方法:


 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

你可能感兴趣的:(写代码的技巧方法(日常整理))