今天開(kāi)發(fā)遇到一個(gè)需求,需要判斷輸入的手機(jī)號(hào)不能重復(fù)

image
// 數(shù)據(jù)格式是這樣的
smsConfig: [
{
frequencyType: '',
phone: '13100010011',
time: 1646643359093,
},
{
frequencyType: '',
phone: '13100010011',
time: 1646643366327,
},
],
// 我想了循環(huán)2次的辦法 但是覺(jué)得代碼太多 所以使用了es6的Set對(duì)象方法
const smsArr = smsConfig.map(value => value.phone)
const smsArr2 = new Set(smsArr)
// 因?yàn)镾et會(huì)自動(dòng)去重 導(dǎo)致smsArr2的長(zhǎng)度是1 所以可以根據(jù)這個(gè)特性來(lái)判斷。
// 如果smsArr和smsArr2的長(zhǎng)度一樣證明電話(huà)沒(méi)有重復(fù) 如果不一樣證明有重復(fù)的被Set自動(dòng)去掉了
if(smsArr2.size !== smsArr.length) {
this.$message.error('接收短信手機(jī)不能重復(fù)!')
}