const sleep = ms => {
return new Promise(resolve => setTimeout(resolve, ms))
}
function isOverlap(dom1, dom2) {
let domA = dom1.getBoundingClientRect()
let domB = dom2.getBoundingClientRect()
let left = domA.right < domB.left
let right = domA.left > domB.right
let top = domA.top > domB.bottom
let bottom = domA.bottom < domB.top
return !(left && right && top && bottom)
}
function mergeObjectListByKey(oldList, newList, key) {
if (!newList.length || !oldList.length) {
return Object.assign(oldList, newList)
}
return newList.reduce((acc, cur) => {
const target = acc.find(e => e[key] === cur[key])
if (target) {
Object.entries(target)
} else {
acc.push(cur)
}
return acc
}, oldList)
}
const nullArray = []
const repeat = [{ id: 1, name: '张三', age: 101 }]
const team = [
{ id: 1, name: '张三', age: 11 },
{ id: 2, name: 'mike', age: 22 },
{ id: 3, name: '小李', age: 44 },
{ id: 5, name: '李', age: 44, gender: 1 },
]
const newTeam = [
{ id: 2, name: 'mike', age: 99 },
{ id: 3, name: '小李', tel: 18899998888 },
{ id: 4, name: 'jay' },
{ id: 5, name: '李', age: 44, gender: 0, tel: 12312312312 },
]
const mergedTeam = mergeObjectListByKey(team, newTeam, 'id').sort((a, b) => a.id - b.id)
const testCase = [
{ id: 1, name: '张三', age: 11 },
{ id: 2, name: 'mike' },
{ id: 3, name: '小李', age: 44, tel: 18899998888 },
{ id: 4, name: 'jay' },
{ id: 5, name: '李', age: 44, tel: 12312312312 },
]
console.log(JSON.stringify(mergedTeam) === JSON.stringify(testCase))
<script>
export default {
data() {
return {
count: 3,
disabled: false
}
},
computed: {
},
methods: {
countDown() {
setInterval(() => {
this.count--
}, 1000)
this.disabled = true
}
},
}
</script>
<template>
<div class='center'>
<button @click='countDown' :class='{ disabled }'>
Your Code Here
</button>
{{count}}
</div>
</template>
<style>
.center {
display: flex;
justify-content: center;
align-items: center;
}
.disabled {
cursor: not-allowed;
}
</style>