<>判断数组中是否有重复的值,重复则提示优先级重复
<>第一种方法 推荐
// 以数组值为键,持续向一个对象里面加值, // 如果在加值之前就发现这个属性在对象中已经存在,那么他就是重复的 function isRepeat(arr
) { var hash = {} for (var i in arr) { if (hash[arr[i]]) { return true } hash[
arr[i]] = true } return false },
全部代码
<Input v-model.trim="item.haha" @on-blur="func1" clearable placeholder="请输入" :
style="{ width: formInputWidth1 }"></Input> // 以数组值为键,持续向一个对象里面加值, //
如果在加值之前就发现这个属性在对象中已经存在,那么他就是重复的 isRepeat(arr) { var hash = {} for (var i in arr)
{ if (hash[arr[i]]) { return true } hash[arr[i]] = true } return false }, func1(
) { let list = [] this.form2.items.forEach(item => { // this.form2.items 是我的数据
list.push(item.haha) // item.haha 是我要检查是否重复的数据 }) let temp = this.isRepeat(list)
// 如果有重复则返回true,否则为false // let temp = this.arrHasvalue(list) 不推荐使用第二种方法,有问题 if
(temp) { this.$Message.error({ content: '优先级有重复的,请检查!', duration: 3 }) } console
.log(list, temp, '优先级', this.$cloneDeep(this.form2.items)) },
<>第二种方法 不推荐
function arrHasvalue(arr) { var nary = arr.sort() for (var i = 0; i < arr.
length; i++) { if (nary[i] == nary[i + 1]) { console.log('数组重复内容:' + nary[i])
return true } else { return false } } },