一、組件完成後調用
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);