How to get the difference between two arrays of objects in JavaScript

前端 未结 18 1084
没有蜡笔的小新
没有蜡笔的小新 2020-11-22 04:45

I have two result sets like this:

// Result 1
[
    { value: \"0\", display: \"Jamsheer\" },
    { value: \"1\", display: \"Muhammed\" },
    { value: \"2\",         


        
18条回答
  •  悲哀的现实
    2020-11-22 05:14

    For those who like one-liner solutions in ES6, something like this:

    const arrayOne = [ 
      { value: "4a55eff3-1e0d-4a81-9105-3ffffd7521d642", display: "Jamsheer" },
      { value: "644838b3-604d-4899-8b78-09e4799f586f", display: "Muhammed" },
      { value: "b6ee537a-375c-45bd-b9d4-4dd84a75041d", display: "Ravi" },
      { value: "e97339e1-939d-47ab-974c-1b68c9cfb536", display: "Ajmal" },
      { value: "a63a6f77-c637-454e-abf2-dfb9b543af6c", display: "Ryan" },
    ];
              
    const arrayTwo = [
      { value: "4a55eff3-1e0d-4a81-9105-3ffffd7521d642", display: "Jamsheer"},
      { value: "644838b3-604d-4899-8b78-09e4799f586f", display: "Muhammed"},
      { value: "b6ee537a-375c-45bd-b9d4-4dd84a75041d", display: "Ravi"},
      { value: "e97339e1-939d-47ab-974c-1b68c9cfb536", display: "Ajmal"},
    ];
    
    const results = arrayOne.filter(({ value: id1 }) => !arrayTwo.some(({ value: id2 }) => id2 === id1));
    
    console.log(results);

提交回复
热议问题