ES6 常用代碼

 

一、組件完成後調用

this.$nextTick(() => (
))

refresh() {
    this.reload = false
    this.$nextTick(() => (this.reload = true))
}

二、同步

async getLoadData(data) {
    let _this = this
    // 字典
    let params = [DECT_ZJLX]
    await getDicts(params).then((res) => {
        Object.keys(res).map((key) => {
            this.init[key] = res[key]
        })
        _this.refresh()
    })
}

三、對象遍歷

let res = {}
Object.keys(res).map((key) => {
    this.init[key] = res[key]
})

對象copy(以下三種方式):
let data = JSON.parse(JSON.stringify(res)) // 可避免對象引用
data = Object.assign({}, res) // 兩個對象合併爲一個新的對象
data = { ...res }

四、循環

for (let i = 0; i < this.info.changeTreeList.length; i++) {
  let data = this.info.changeTreeList[i]
}

for (let item of list) {
}

for (let item: list) {
}

五、List、數組處理

包含某個值
let changeDelTreeList = []
if (!changeDelTreeList.includes(chid)) {
}

根據下標刪除
changeDelTreeList.splice(index, 1)

先去除下標爲index的值,然後在原來的index位置重新添加值
let lsData = this.model.reporter[index]
// console.info('lsData', lsData)
this.model.reporter.splice(index, 1)
this.model.reporter.splice(index, 0, lsData)

查到數組中爲'22'的,並把它刪除
let ids = ['11','22']
let value = '22'
ids.splice(ids.findIndex(item => item === value), 1)

六、回調函數:Promise

getNodeIsLock({ recordId, currentProcessRecordId }).then((ref) => {
    const { success, msg } = ref
    if (success) {
      // return Promise.resolve(file)
      resolve(file)
      // return new Promise((resolve, reject) => {
      //   setTimeout(() => {
      //     console.log('beforeUpload something done;');
      //     resolve(file);
      //   }, 1000);
      // });
    } else {
      BasicTypeUtil.Toast(msg, 'error')
      return false
    }
  })
})

七、數組過濾

去掉空數組空字符串、undefined、null
var arr = ['1','2',undefined,null,'', '3.jpg',undefined]
var newArr = arr.filter(item => item)
console.log(newArr)

去掉數組中不符合項
var arr = [20,30,50, 96,50]
var newArr = arr.filter(item => item>40)  
console.log(newArr)

創建一個數組,判斷數組中是否存在某個值
var newarr = [
  { num: 1, val: 'ceshi', flag: 'aa' },
  { num: 2, val: 'ceshi2', flag: 'aa2'  }
]
console.log(newarr.filter(item => item.num===2 ))

過濾掉num爲2的
var newarr = [
  { num: 1, val: 'ceshi', flag: 'aa' },
  { num: 2, val: 'ceshi2', flag: 'aa2'  }
]
console.log(newarr.filter(item => item.num!=2 ))

去掉數組中不符合項
var arr = [20,30,50, 96,50]
var newArr = arr.filter(item => item>40)  
console.log(newArr)

過濾不符合項
var arr = ['10','12','23','44','42']
var newArr = arr.filter(item => item.indexOf('2')<0) 
console.log(newArr)

數組去重
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)  
console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]

數組去重es6
var arr=[1,2,1,'1',null,null,undefined,undefined,NaN,NaN]
let res=Array.from(new Set(arr));//{1,2,"1",null,undefined,NaN}
//or
let newarr=[...new Set(arr)]

數組對象去重es6
let person = [
     {id: 0, name: "小明"},
     {id: 1, name: "小張"},
     {id: 2, name: "小李"},
     {id: 3, name: "小孫"},
     {id: 1, name: "小周"},
     {id: 2, name: "小陳"},  
];
 
let obj = {};
 
let peon = person.reduce((cur,next) => {
    obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
    return cur;
},[]) //設置cur默認類型爲數組,並且初始值爲空的數組
console.log(peon);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章