Get list of duplicate objects in an array of objects

前端 未结 7 864
你的背包
你的背包 2020-12-14 22:11

I am trying to get duplicate objects within an array of objects. Let\'s say the object is like below.

values = [
  { id: 10, name: \'someName1\' },
  { id: 1         


        
7条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-14 22:47

    Try this

    function checkDuplicateInObject(propertyName, inputArray) {
      var seenDuplicate = false,
      testObject = {};
    
      inputArray.map(function(item) {
      var itemPropertyName = item[propertyName];    
      if (itemPropertyName in testObject) {
      testObject[itemPropertyName].duplicate = true;
      item.duplicate = true;
      seenDuplicate = true;
     }
     else {
       testObject[itemPropertyName] = item;
       delete item.duplicate;
     }
    });
    
     return seenDuplicate;
    }
    

    referred from : http://www.competa.com/blog/lets-find-duplicate-property-values-in-an-array-of-objects-in-javascript/

提交回复
热议问题