美文网首页
总结:js常用封装方法

总结:js常用封装方法

作者: 别吵让我睡觉 | 来源:发表于2021-02-04 15:06 被阅读0次

问题所在

这段时间发现一些方法频繁用到,特此总结起来,方便我以后的开发查阅,希望队伍越来越壮大😀


1. 数组去重

    unique (arr) {
      return Array.from(new Set(arr))
    },

2.对象数组去重

    doWeight(arr){
      var result = [];
      var obj = {};
      for(var i =0; i<arr.length; i++){
        if(!obj[arr[i].value]){// 这里是根据value属性去重,可以随意更改
          result.push(arr[i]);
          obj[arr[i].value] = true;
          }
        }
      return result;
    },

3. 对象数组中根据某个对象的一个键值对,删除对应对象

    removeByValue(arr, attr, value){
        let index = 0
        for(let i in arr){
          if(arr[i][attr]===value){
            index=i;
            break;
          }
        }
        arr.splice(index,1);
      },
// 举个栗子:list=[{id:1,name:'凯',des:'皮肤可真丑'},{id:2,name:'白晶晶',des:'锚点皮肤pei'}]
// removeByValue(list, 'id', 1)
// 结果为:list=[{id:2,name:'白晶晶',des:'锚点皮肤pei'}]

4. 获取所传字符串所占字符

getStrLength(str){
        let len = 0
        for (let i = 0; i < str.length; i++) {
          if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
            len += 2;
          } else {
            len++;
          }
        }
        return len
      },
// 举个栗子:this.getStrLength('理解bl')
// 结果为:6

5. 得到html中某一块的结构

this.$nextTick(function () {
  var columnTree = document.getElementById('custom-tree')
  console.log(columnTree)
});

6.日期由中国标准时间转变成UTC格式

 dateFormat:function(time) {
      var date=new Date(time);
      var year=date.getFullYear();
      var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
      var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
      var hours=date.getHours()<10 ? "0"+date.getHours() : date.getHours();
      var minutes=date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes();
      var seconds=date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds();
      return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;
    },

相关文章

网友评论

      本文标题:总结:js常用封装方法

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