删除Javascript对象中具有相同值即重复项的键/值对

问题描述

我目前正在学习JS,我需要一种方法来返回与给定对象相似的对象,但要删除具有相同值(即重复项)的键/值对。

因此,如果我有给定的对象{a:1,b:2,c:3,d:1}:

它应该返回:

{b:2,c:3}

类似地,如果一个对象中的所有键值对都具有不同的值,则返回的对象将与给定对象完全相同。

我认为我即将解决它,但是我无法弄清楚我的代码有什么问题。任何帮助将不胜感激!

const noDuplicateValues = (obj) => {
  let result = {};
  let keys = Object.keys(obj);
  let duplicate;

  for(let i = 0; i < keys.length; i++) {
    for(let j = i +1; j < keys.length; j++) {
      duplicate = false;
      if(obj[keys[i]] === obj[keys[j]]) {
        duplicate = true;
      }
    }
    if(!duplicate) {
      result[keys[i]] = obj[keys[i]];
    } 
  }
  return result;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)