3 回答
TA贡献2065条经验 获得超14个赞
题主都问ES6了,怎么没人回答一下咩
const data = {
"bqw":"123",
"bfr": "1234",
"asq": "1235",
"ase":"1236",
"bd": "1237",
"bua": "123",
"bgg": "1238",
"bug": "1239",
};
// ES7
Object.values(data).length !== new Set(Object.values(data)).size && console.log('重复')
// ES6
const values = Object.keys(data).map(e => data[e])
values.length !== new Set(values).size && console.log('重复')
// 自行替换console.log 为alert
TA贡献1874条经验 获得超12个赞
写个方法,把data的value作为key值重新建个对象;
function run(obj){
let md={};
for(k in obj){
md[obj[k]]? md[obj[k]]++: md[obj[k]]=1
}
return md;
}
//输出value出现的次数
run(data)//123: 2, 1234: 1, 1235: 1, 1236: 1, 1237: 1, 1238: 1, 1239: 1
TA贡献1811条经验 获得超4个赞
let check = (data) => {
let arr = []
for (let k in data) {
if (arr.indexOf(data[k]) === -1) {
arr.push(data[k])
} else {
return true
}
}
}
let data = {
"bqw": "123",
"bfr": "1234",
"asq": "1235",
"ase": "1236",
"bd": "1237",
"bua": "123",
"bgg": "1238",
"bug": "1239"
}
if (check(data)) {
alert('重复')
}
// true
大概就是一个数组临时保存object的值,indexof来判断下一值在数组中是否存在,存在返回true
添加回答
举报