为了账号安全,请及时绑定邮箱和手机立即绑定

判断对象data不同key的值是否有重复,如果有alert"重复",请问下用ES6怎么操作。

判断对象data不同key的值是否有重复,如果有alert"重复",请问下用ES6怎么操作。

繁星coding 2019-03-12 17:15:40
data = {      "bqw":"123",      "bfr": "1234",      "asq": "1235",      "ase":"1236",      "bd": "1237",      "bua": "123",      "bgg": "1238",      "bug": "1239",    };//判断对象data不同key的值是否有重复,如果有alert"重复"
查看完整描述

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


查看完整回答
反对 回复 2019-03-29
?
HUWWW

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


查看完整回答
反对 回复 2019-03-29
?
波斯汪

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


查看完整回答
反对 回复 2019-03-29
  • 3 回答
  • 0 关注
  • 599 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信