例如有这样一个JSON,想要去掉重复项。{"i1":"1231", "i2":"9387", "i3":"68433", "i4":"1231", "i5":"43566"}
i1和i4的值相等,重复了,如何去重呢?
例如有这样一个JSON,想要去掉重复项。{"i1":"1231", "i2":"9387", "i3":"68433", "i4":"1231", "i5":"43566"}
i1和i4的值相等,重复了,如何去重呢?
把key value交换 再交换回去 使用的基础知识是对象的key具有唯一性 不能重复
a={name:90,age:89,name:78}=>a={name:78,age:89}
a={
"i1": "1231",
"i2": "9387",
"i3": "68433",
"i4": "1231",
"i5": "43566"
};
//交换
var t={};
for(var i in a){
t[a[i]]=i;
};
// 再交换回去
var b={};
for(var i in t){
b[t[i]]=i;
}
//b={i4: "1231", i2: "9387", i5: "43566", i3: "68433"}
var obj = {"i1":"1231", "i2":"9387", "i3":"68433", "i4":"1231", "i5":"43566"}
var st = new Set()
Object.keys(obj).forEach(x => st.has(obj[x]) ? delete obj[x] : st.add(obj[x]))
console.log(obj) //{i1: "1231", i2: "9387", i3: "68433", i5: "43566"}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
跟数组一样的