JavaScript array of objects contains the same array data The Next CEO of Stack OverflowSimplest code for array intersection in javascriptHow do JavaScript closures work?What is the most efficient way to deep clone an object in JavaScript?How do I remove a property from a JavaScript object?How do I check if an array includes an object in JavaScript?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?Loop through an array in JavaScriptHow to check if an object is an array?How do I remove a particular element from an array in JavaScript?For-each over an array in JavaScript?

logical reads on global temp table, but not on session-level temp table

Why does the freezing point matter when picking cooler ice packs?

Free fall ellipse or parabola?

Is it correct to say moon starry nights?

Calculate the Mean mean of two numbers

Read/write a pipe-delimited file line by line with some simple text manipulation

"Eavesdropping" vs "Listen in on"

Is it a bad idea to plug the other end of ESD strap to wall ground?

Does int main() need a declaration on C++?

Is it possible to make a 9x9 table fit within the default margins?

How to find if SQL server backup is encrypted with TDE without restoring the backup

Can this transistor (2N2222) take 6 V on emitter-base? Am I reading the datasheet incorrectly?

Ising model simulation

Arrows in tikz Markov chain diagram overlap

Find the majority element, which appears more than half the time

What is the difference between 서고 and 도서관?

What is a typical Mizrachi Seder like?

Upgrading From a 9 Speed Sora Derailleur?

How can the PCs determine if an item is a phylactery?

Are British MPs missing the point, with these 'Indicative Votes'?

Can I cast Thunderwave and be at the center of its bottom face, but not be affected by it?

What did the word "leisure" mean in late 18th Century usage?

Could a dragon use hot air to help it take off?

A hang glider, sudden unexpected lift to 25,000 feet altitude, what could do this?



JavaScript array of objects contains the same array data



The Next CEO of Stack OverflowSimplest code for array intersection in javascriptHow do JavaScript closures work?What is the most efficient way to deep clone an object in JavaScript?How do I remove a property from a JavaScript object?How do I check if an array includes an object in JavaScript?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?Loop through an array in JavaScriptHow to check if an object is an array?How do I remove a particular element from an array in JavaScript?For-each over an array in JavaScript?










7















I try to get all same data values into an array of objects. This is my input:



var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

]




I need a result like:



["65d4ze"]


I try to loop on my object to get this output, but I'm completely lost... I don't know how to know if the result is into all data arrays.






var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

],
b = [],
c = []
a.forEach(function(object)
b.push(object.data.map(function(val)
return val;
)
);
);

console.log(b);












share|improve this question
























  • So get all arrays elements that are present on all a?

    – Eddie
    Mar 25 at 10:06






  • 3





    Possible duplicate of Simplest code for array intersection in javascript

    – James Long
    Mar 25 at 10:07











  • @JamesLong I don't understand the duplication, why this answer can help me ?

    – Kamoulox
    Mar 25 at 10:08











  • @Eddie I need to get all array into the key data. This key is present into all object of my principal array.

    – Kamoulox
    Mar 25 at 10:11











  • @Kamoulox you have 2 arrays (a[0].data and a[1].data). You seem to be wanting an array of all the values that appear in both arrays. Unless I'm mis-reading your question

    – James Long
    Mar 25 at 10:12















7















I try to get all same data values into an array of objects. This is my input:



var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

]




I need a result like:



["65d4ze"]


I try to loop on my object to get this output, but I'm completely lost... I don't know how to know if the result is into all data arrays.






var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

],
b = [],
c = []
a.forEach(function(object)
b.push(object.data.map(function(val)
return val;
)
);
);

console.log(b);












share|improve this question
























  • So get all arrays elements that are present on all a?

    – Eddie
    Mar 25 at 10:06






  • 3





    Possible duplicate of Simplest code for array intersection in javascript

    – James Long
    Mar 25 at 10:07











  • @JamesLong I don't understand the duplication, why this answer can help me ?

    – Kamoulox
    Mar 25 at 10:08











  • @Eddie I need to get all array into the key data. This key is present into all object of my principal array.

    – Kamoulox
    Mar 25 at 10:11











  • @Kamoulox you have 2 arrays (a[0].data and a[1].data). You seem to be wanting an array of all the values that appear in both arrays. Unless I'm mis-reading your question

    – James Long
    Mar 25 at 10:12













7












7








7


1






I try to get all same data values into an array of objects. This is my input:



var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

]




I need a result like:



["65d4ze"]


I try to loop on my object to get this output, but I'm completely lost... I don't know how to know if the result is into all data arrays.






var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

],
b = [],
c = []
a.forEach(function(object)
b.push(object.data.map(function(val)
return val;
)
);
);

console.log(b);












share|improve this question
















I try to get all same data values into an array of objects. This is my input:



var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

]




I need a result like:



["65d4ze"]


I try to loop on my object to get this output, but I'm completely lost... I don't know how to know if the result is into all data arrays.






var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

],
b = [],
c = []
a.forEach(function(object)
b.push(object.data.map(function(val)
return val;
)
);
);

console.log(b);








var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

],
b = [],
c = []
a.forEach(function(object)
b.push(object.data.map(function(val)
return val;
)
);
);

console.log(b);





var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

],
b = [],
c = []
a.forEach(function(object)
b.push(object.data.map(function(val)
return val;
)
);
);

console.log(b);






javascript arrays






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 25 at 12:05









Peter Mortensen

13.8k1987113




13.8k1987113










asked Mar 25 at 10:04









KamouloxKamoulox

533




533












  • So get all arrays elements that are present on all a?

    – Eddie
    Mar 25 at 10:06






  • 3





    Possible duplicate of Simplest code for array intersection in javascript

    – James Long
    Mar 25 at 10:07











  • @JamesLong I don't understand the duplication, why this answer can help me ?

    – Kamoulox
    Mar 25 at 10:08











  • @Eddie I need to get all array into the key data. This key is present into all object of my principal array.

    – Kamoulox
    Mar 25 at 10:11











  • @Kamoulox you have 2 arrays (a[0].data and a[1].data). You seem to be wanting an array of all the values that appear in both arrays. Unless I'm mis-reading your question

    – James Long
    Mar 25 at 10:12

















  • So get all arrays elements that are present on all a?

    – Eddie
    Mar 25 at 10:06






  • 3





    Possible duplicate of Simplest code for array intersection in javascript

    – James Long
    Mar 25 at 10:07











  • @JamesLong I don't understand the duplication, why this answer can help me ?

    – Kamoulox
    Mar 25 at 10:08











  • @Eddie I need to get all array into the key data. This key is present into all object of my principal array.

    – Kamoulox
    Mar 25 at 10:11











  • @Kamoulox you have 2 arrays (a[0].data and a[1].data). You seem to be wanting an array of all the values that appear in both arrays. Unless I'm mis-reading your question

    – James Long
    Mar 25 at 10:12
















So get all arrays elements that are present on all a?

– Eddie
Mar 25 at 10:06





So get all arrays elements that are present on all a?

– Eddie
Mar 25 at 10:06




3




3





Possible duplicate of Simplest code for array intersection in javascript

– James Long
Mar 25 at 10:07





Possible duplicate of Simplest code for array intersection in javascript

– James Long
Mar 25 at 10:07













@JamesLong I don't understand the duplication, why this answer can help me ?

– Kamoulox
Mar 25 at 10:08





@JamesLong I don't understand the duplication, why this answer can help me ?

– Kamoulox
Mar 25 at 10:08













@Eddie I need to get all array into the key data. This key is present into all object of my principal array.

– Kamoulox
Mar 25 at 10:11





@Eddie I need to get all array into the key data. This key is present into all object of my principal array.

– Kamoulox
Mar 25 at 10:11













@Kamoulox you have 2 arrays (a[0].data and a[1].data). You seem to be wanting an array of all the values that appear in both arrays. Unless I'm mis-reading your question

– James Long
Mar 25 at 10:12





@Kamoulox you have 2 arrays (a[0].data and a[1].data). You seem to be wanting an array of all the values that appear in both arrays. Unless I'm mis-reading your question

– James Long
Mar 25 at 10:12












5 Answers
5






active

oldest

votes


















12














You could map data and get the common values with Array#map, Array#reduce, Array#filter, Set and Set#has.






var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
key = 'data',
common = array
.map(o => o[key])
.reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

console.log(common);








share|improve this answer























  • I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

    – Kamoulox
    Mar 25 at 10:16






  • 5





    filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

    – Nina Scholz
    Mar 25 at 10:21











  • With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

    – Pranav C Balan
    Mar 25 at 10:21











  • @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

    – Nina Scholz
    Mar 25 at 10:24












  • @NinaScholz : oops that's right, that would make issues :)

    – Pranav C Balan
    Mar 25 at 10:25



















3














You can use the Array#filter method. Filter the first array by checking if a value is present in all other object properties (arrays), using the Array#every method to check if a value is present in all remaining arrays.



let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));





var a = [
name: "Foo",
id: "123",
data: ["65d4ze", "65h8914d"]
,

name: "Bar",
id: "321",
data: ["65d4ze", "894ver81"]

];

let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

console.log(res)








share|improve this answer
































    1

















    var a = [
    name: "Foo",
    id: "123",
    data: ["65d4ze", "65h8914d"]
    ,

    name: "Bar",
    id: "321",
    data: ["65d4ze", "894ver81"]

    ],
    b = ;
    a.forEach(function(i)
    i.data.forEach(function(j)
    if (!b.hasOwnProperty(j))
    b[j] = 0;

    b[j] = b[j] + 1;
    );
    );
    c = []
    for (var i in b)
    if (b.hasOwnProperty(i))
    if (b[i] > 1)
    c.push(i)



    console.log(c);








    share|improve this answer






























      1














      Use the flat function in the array:






      var a = [
      name: "Foo",
      id: "123",
      data: ["65d4ze", "65h8914d"]
      ,

      name: "Bar",
      id: "321",
      data: ["65d4ze", "894ver81"]

      ],
      b = [],
      c = []
      a.forEach(function(object)
      b.push(object.data.map(function(val)
      return val;
      )
      );
      );

      console.log(b.flat());








      share|improve this answer

























      • Thanks for your answer, that a great code. But flat is not working on my browser

        – Kamoulox
        Mar 25 at 10:21


















      1














      You could use reduce and concat on each data array, and check the count of each item.



      In the end, you check whether all objects across the array contain that item and return it if yes.



      Note that this function works if you want to extract the item that has the same occurrence across all objects in the array.



      If an item has duplicates, but does not fulfill the above condition, it would not be extracted.




      let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

      let arr = a.reduce((prev,next) => prev.data.concat(next.data))
      let counts = ;
      let result = [];
      for (var i = 0; i < arr.length; i++)
      var num = arr[i];
      counts[num] = counts[num] ? counts[num] + 1 : 1;


      for (let i in counts)
      if (counts[i] === a.length)
      result.push(i)


      console.log(result)








      share|improve this answer

























        Your Answer






        StackExchange.ifUsing("editor", function ()
        StackExchange.using("externalEditor", function ()
        StackExchange.using("snippets", function ()
        StackExchange.snippets.init();
        );
        );
        , "code-snippets");

        StackExchange.ready(function()
        var channelOptions =
        tags: "".split(" "),
        id: "1"
        ;
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function()
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled)
        StackExchange.using("snippets", function()
        createEditor();
        );

        else
        createEditor();

        );

        function createEditor()
        StackExchange.prepareEditor(
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader:
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        ,
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        );



        );













        draft saved

        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55335302%2fjavascript-array-of-objects-contains-the-same-array-data%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        5 Answers
        5






        active

        oldest

        votes








        5 Answers
        5






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        12














        You could map data and get the common values with Array#map, Array#reduce, Array#filter, Set and Set#has.






        var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
        key = 'data',
        common = array
        .map(o => o[key])
        .reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

        console.log(common);








        share|improve this answer























        • I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

          – Kamoulox
          Mar 25 at 10:16






        • 5





          filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

          – Nina Scholz
          Mar 25 at 10:21











        • With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

          – Pranav C Balan
          Mar 25 at 10:21











        • @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

          – Nina Scholz
          Mar 25 at 10:24












        • @NinaScholz : oops that's right, that would make issues :)

          – Pranav C Balan
          Mar 25 at 10:25
















        12














        You could map data and get the common values with Array#map, Array#reduce, Array#filter, Set and Set#has.






        var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
        key = 'data',
        common = array
        .map(o => o[key])
        .reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

        console.log(common);








        share|improve this answer























        • I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

          – Kamoulox
          Mar 25 at 10:16






        • 5





          filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

          – Nina Scholz
          Mar 25 at 10:21











        • With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

          – Pranav C Balan
          Mar 25 at 10:21











        • @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

          – Nina Scholz
          Mar 25 at 10:24












        • @NinaScholz : oops that's right, that would make issues :)

          – Pranav C Balan
          Mar 25 at 10:25














        12












        12








        12







        You could map data and get the common values with Array#map, Array#reduce, Array#filter, Set and Set#has.






        var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
        key = 'data',
        common = array
        .map(o => o[key])
        .reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

        console.log(common);








        share|improve this answer













        You could map data and get the common values with Array#map, Array#reduce, Array#filter, Set and Set#has.






        var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
        key = 'data',
        common = array
        .map(o => o[key])
        .reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

        console.log(common);








        var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
        key = 'data',
        common = array
        .map(o => o[key])
        .reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

        console.log(common);





        var array = [ name: "Foo", id: "123", data: ["65d4ze", "65h8914d"] , name: "Bar", id: "321", data: ["65d4ze", "894ver81"] ],
        key = 'data',
        common = array
        .map(o => o[key])
        .reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

        console.log(common);






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 25 at 10:09









        Nina ScholzNina Scholz

        195k15107179




        195k15107179












        • I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

          – Kamoulox
          Mar 25 at 10:16






        • 5





          filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

          – Nina Scholz
          Mar 25 at 10:21











        • With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

          – Pranav C Balan
          Mar 25 at 10:21











        • @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

          – Nina Scholz
          Mar 25 at 10:24












        • @NinaScholz : oops that's right, that would make issues :)

          – Pranav C Balan
          Mar 25 at 10:25


















        • I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

          – Kamoulox
          Mar 25 at 10:16






        • 5





          filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

          – Nina Scholz
          Mar 25 at 10:21











        • With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

          – Pranav C Balan
          Mar 25 at 10:21











        • @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

          – Nina Scholz
          Mar 25 at 10:24












        • @NinaScholz : oops that's right, that would make issues :)

          – Pranav C Balan
          Mar 25 at 10:25

















        I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

        – Kamoulox
        Mar 25 at 10:16





        I have some troubles to understand this piece of code b.filter(Set.prototype.has, new Set(a)). But it's working perfectly, thanks

        – Kamoulox
        Mar 25 at 10:16




        5




        5





        filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

        – Nina Scholz
        Mar 25 at 10:21





        filter has two parameters, one foir the callback, which is here a prototype function of Set, has which checks a value against a set. at this point, the method does not works because it need an instance of Set. the second parameter is thisArg, where you can hand over an object, which is used as this in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a bound this by using this as callback: Set.prototype.has.bind(new Set(a)), which is now a function with this.

        – Nina Scholz
        Mar 25 at 10:21













        With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

        – Pranav C Balan
        Mar 25 at 10:21





        With array common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));

        – Pranav C Balan
        Mar 25 at 10:21













        @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

        – Nina Scholz
        Mar 25 at 10:24






        @PranavCBalan, Array#includes uses a second parameter fromIndex and gets this value with the index of the callback ...

        – Nina Scholz
        Mar 25 at 10:24














        @NinaScholz : oops that's right, that would make issues :)

        – Pranav C Balan
        Mar 25 at 10:25






        @NinaScholz : oops that's right, that would make issues :)

        – Pranav C Balan
        Mar 25 at 10:25














        3














        You can use the Array#filter method. Filter the first array by checking if a value is present in all other object properties (arrays), using the Array#every method to check if a value is present in all remaining arrays.



        let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));





        var a = [
        name: "Foo",
        id: "123",
        data: ["65d4ze", "65h8914d"]
        ,

        name: "Bar",
        id: "321",
        data: ["65d4ze", "894ver81"]

        ];

        let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

        console.log(res)








        share|improve this answer





























          3














          You can use the Array#filter method. Filter the first array by checking if a value is present in all other object properties (arrays), using the Array#every method to check if a value is present in all remaining arrays.



          let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));





          var a = [
          name: "Foo",
          id: "123",
          data: ["65d4ze", "65h8914d"]
          ,

          name: "Bar",
          id: "321",
          data: ["65d4ze", "894ver81"]

          ];

          let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

          console.log(res)








          share|improve this answer



























            3












            3








            3







            You can use the Array#filter method. Filter the first array by checking if a value is present in all other object properties (arrays), using the Array#every method to check if a value is present in all remaining arrays.



            let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));





            var a = [
            name: "Foo",
            id: "123",
            data: ["65d4ze", "65h8914d"]
            ,

            name: "Bar",
            id: "321",
            data: ["65d4ze", "894ver81"]

            ];

            let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

            console.log(res)








            share|improve this answer















            You can use the Array#filter method. Filter the first array by checking if a value is present in all other object properties (arrays), using the Array#every method to check if a value is present in all remaining arrays.



            let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));





            var a = [
            name: "Foo",
            id: "123",
            data: ["65d4ze", "65h8914d"]
            ,

            name: "Bar",
            id: "321",
            data: ["65d4ze", "894ver81"]

            ];

            let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

            console.log(res)








            var a = [
            name: "Foo",
            id: "123",
            data: ["65d4ze", "65h8914d"]
            ,

            name: "Bar",
            id: "321",
            data: ["65d4ze", "894ver81"]

            ];

            let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

            console.log(res)





            var a = [
            name: "Foo",
            id: "123",
            data: ["65d4ze", "65h8914d"]
            ,

            name: "Bar",
            id: "321",
            data: ["65d4ze", "894ver81"]

            ];

            let res = a[0].data.filter(v => a.slice(1).every(a => a.data.includes(v)));

            console.log(res)






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Mar 25 at 12:28









            Peter Mortensen

            13.8k1987113




            13.8k1987113










            answered Mar 25 at 10:14









            Pranav C BalanPranav C Balan

            88.6k1391117




            88.6k1391117





















                1

















                var a = [
                name: "Foo",
                id: "123",
                data: ["65d4ze", "65h8914d"]
                ,

                name: "Bar",
                id: "321",
                data: ["65d4ze", "894ver81"]

                ],
                b = ;
                a.forEach(function(i)
                i.data.forEach(function(j)
                if (!b.hasOwnProperty(j))
                b[j] = 0;

                b[j] = b[j] + 1;
                );
                );
                c = []
                for (var i in b)
                if (b.hasOwnProperty(i))
                if (b[i] > 1)
                c.push(i)



                console.log(c);








                share|improve this answer



























                  1

















                  var a = [
                  name: "Foo",
                  id: "123",
                  data: ["65d4ze", "65h8914d"]
                  ,

                  name: "Bar",
                  id: "321",
                  data: ["65d4ze", "894ver81"]

                  ],
                  b = ;
                  a.forEach(function(i)
                  i.data.forEach(function(j)
                  if (!b.hasOwnProperty(j))
                  b[j] = 0;

                  b[j] = b[j] + 1;
                  );
                  );
                  c = []
                  for (var i in b)
                  if (b.hasOwnProperty(i))
                  if (b[i] > 1)
                  c.push(i)



                  console.log(c);








                  share|improve this answer

























                    1












                    1








                    1










                    var a = [
                    name: "Foo",
                    id: "123",
                    data: ["65d4ze", "65h8914d"]
                    ,

                    name: "Bar",
                    id: "321",
                    data: ["65d4ze", "894ver81"]

                    ],
                    b = ;
                    a.forEach(function(i)
                    i.data.forEach(function(j)
                    if (!b.hasOwnProperty(j))
                    b[j] = 0;

                    b[j] = b[j] + 1;
                    );
                    );
                    c = []
                    for (var i in b)
                    if (b.hasOwnProperty(i))
                    if (b[i] > 1)
                    c.push(i)



                    console.log(c);








                    share|improve this answer
















                    var a = [
                    name: "Foo",
                    id: "123",
                    data: ["65d4ze", "65h8914d"]
                    ,

                    name: "Bar",
                    id: "321",
                    data: ["65d4ze", "894ver81"]

                    ],
                    b = ;
                    a.forEach(function(i)
                    i.data.forEach(function(j)
                    if (!b.hasOwnProperty(j))
                    b[j] = 0;

                    b[j] = b[j] + 1;
                    );
                    );
                    c = []
                    for (var i in b)
                    if (b.hasOwnProperty(i))
                    if (b[i] > 1)
                    c.push(i)



                    console.log(c);








                    var a = [
                    name: "Foo",
                    id: "123",
                    data: ["65d4ze", "65h8914d"]
                    ,

                    name: "Bar",
                    id: "321",
                    data: ["65d4ze", "894ver81"]

                    ],
                    b = ;
                    a.forEach(function(i)
                    i.data.forEach(function(j)
                    if (!b.hasOwnProperty(j))
                    b[j] = 0;

                    b[j] = b[j] + 1;
                    );
                    );
                    c = []
                    for (var i in b)
                    if (b.hasOwnProperty(i))
                    if (b[i] > 1)
                    c.push(i)



                    console.log(c);





                    var a = [
                    name: "Foo",
                    id: "123",
                    data: ["65d4ze", "65h8914d"]
                    ,

                    name: "Bar",
                    id: "321",
                    data: ["65d4ze", "894ver81"]

                    ],
                    b = ;
                    a.forEach(function(i)
                    i.data.forEach(function(j)
                    if (!b.hasOwnProperty(j))
                    b[j] = 0;

                    b[j] = b[j] + 1;
                    );
                    );
                    c = []
                    for (var i in b)
                    if (b.hasOwnProperty(i))
                    if (b[i] > 1)
                    c.push(i)



                    console.log(c);






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Mar 25 at 10:12









                    Shree TiwariShree Tiwari

                    287112




                    287112





















                        1














                        Use the flat function in the array:






                        var a = [
                        name: "Foo",
                        id: "123",
                        data: ["65d4ze", "65h8914d"]
                        ,

                        name: "Bar",
                        id: "321",
                        data: ["65d4ze", "894ver81"]

                        ],
                        b = [],
                        c = []
                        a.forEach(function(object)
                        b.push(object.data.map(function(val)
                        return val;
                        )
                        );
                        );

                        console.log(b.flat());








                        share|improve this answer

























                        • Thanks for your answer, that a great code. But flat is not working on my browser

                          – Kamoulox
                          Mar 25 at 10:21















                        1














                        Use the flat function in the array:






                        var a = [
                        name: "Foo",
                        id: "123",
                        data: ["65d4ze", "65h8914d"]
                        ,

                        name: "Bar",
                        id: "321",
                        data: ["65d4ze", "894ver81"]

                        ],
                        b = [],
                        c = []
                        a.forEach(function(object)
                        b.push(object.data.map(function(val)
                        return val;
                        )
                        );
                        );

                        console.log(b.flat());








                        share|improve this answer

























                        • Thanks for your answer, that a great code. But flat is not working on my browser

                          – Kamoulox
                          Mar 25 at 10:21













                        1












                        1








                        1







                        Use the flat function in the array:






                        var a = [
                        name: "Foo",
                        id: "123",
                        data: ["65d4ze", "65h8914d"]
                        ,

                        name: "Bar",
                        id: "321",
                        data: ["65d4ze", "894ver81"]

                        ],
                        b = [],
                        c = []
                        a.forEach(function(object)
                        b.push(object.data.map(function(val)
                        return val;
                        )
                        );
                        );

                        console.log(b.flat());








                        share|improve this answer















                        Use the flat function in the array:






                        var a = [
                        name: "Foo",
                        id: "123",
                        data: ["65d4ze", "65h8914d"]
                        ,

                        name: "Bar",
                        id: "321",
                        data: ["65d4ze", "894ver81"]

                        ],
                        b = [],
                        c = []
                        a.forEach(function(object)
                        b.push(object.data.map(function(val)
                        return val;
                        )
                        );
                        );

                        console.log(b.flat());








                        var a = [
                        name: "Foo",
                        id: "123",
                        data: ["65d4ze", "65h8914d"]
                        ,

                        name: "Bar",
                        id: "321",
                        data: ["65d4ze", "894ver81"]

                        ],
                        b = [],
                        c = []
                        a.forEach(function(object)
                        b.push(object.data.map(function(val)
                        return val;
                        )
                        );
                        );

                        console.log(b.flat());





                        var a = [
                        name: "Foo",
                        id: "123",
                        data: ["65d4ze", "65h8914d"]
                        ,

                        name: "Bar",
                        id: "321",
                        data: ["65d4ze", "894ver81"]

                        ],
                        b = [],
                        c = []
                        a.forEach(function(object)
                        b.push(object.data.map(function(val)
                        return val;
                        )
                        );
                        );

                        console.log(b.flat());






                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Mar 25 at 12:29









                        Peter Mortensen

                        13.8k1987113




                        13.8k1987113










                        answered Mar 25 at 10:18









                        thelastwormthelastworm

                        1428




                        1428












                        • Thanks for your answer, that a great code. But flat is not working on my browser

                          – Kamoulox
                          Mar 25 at 10:21

















                        • Thanks for your answer, that a great code. But flat is not working on my browser

                          – Kamoulox
                          Mar 25 at 10:21
















                        Thanks for your answer, that a great code. But flat is not working on my browser

                        – Kamoulox
                        Mar 25 at 10:21





                        Thanks for your answer, that a great code. But flat is not working on my browser

                        – Kamoulox
                        Mar 25 at 10:21











                        1














                        You could use reduce and concat on each data array, and check the count of each item.



                        In the end, you check whether all objects across the array contain that item and return it if yes.



                        Note that this function works if you want to extract the item that has the same occurrence across all objects in the array.



                        If an item has duplicates, but does not fulfill the above condition, it would not be extracted.




                        let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

                        let arr = a.reduce((prev,next) => prev.data.concat(next.data))
                        let counts = ;
                        let result = [];
                        for (var i = 0; i < arr.length; i++)
                        var num = arr[i];
                        counts[num] = counts[num] ? counts[num] + 1 : 1;


                        for (let i in counts)
                        if (counts[i] === a.length)
                        result.push(i)


                        console.log(result)








                        share|improve this answer





























                          1














                          You could use reduce and concat on each data array, and check the count of each item.



                          In the end, you check whether all objects across the array contain that item and return it if yes.



                          Note that this function works if you want to extract the item that has the same occurrence across all objects in the array.



                          If an item has duplicates, but does not fulfill the above condition, it would not be extracted.




                          let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

                          let arr = a.reduce((prev,next) => prev.data.concat(next.data))
                          let counts = ;
                          let result = [];
                          for (var i = 0; i < arr.length; i++)
                          var num = arr[i];
                          counts[num] = counts[num] ? counts[num] + 1 : 1;


                          for (let i in counts)
                          if (counts[i] === a.length)
                          result.push(i)


                          console.log(result)








                          share|improve this answer



























                            1












                            1








                            1







                            You could use reduce and concat on each data array, and check the count of each item.



                            In the end, you check whether all objects across the array contain that item and return it if yes.



                            Note that this function works if you want to extract the item that has the same occurrence across all objects in the array.



                            If an item has duplicates, but does not fulfill the above condition, it would not be extracted.




                            let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

                            let arr = a.reduce((prev,next) => prev.data.concat(next.data))
                            let counts = ;
                            let result = [];
                            for (var i = 0; i < arr.length; i++)
                            var num = arr[i];
                            counts[num] = counts[num] ? counts[num] + 1 : 1;


                            for (let i in counts)
                            if (counts[i] === a.length)
                            result.push(i)


                            console.log(result)








                            share|improve this answer















                            You could use reduce and concat on each data array, and check the count of each item.



                            In the end, you check whether all objects across the array contain that item and return it if yes.



                            Note that this function works if you want to extract the item that has the same occurrence across all objects in the array.



                            If an item has duplicates, but does not fulfill the above condition, it would not be extracted.




                            let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

                            let arr = a.reduce((prev,next) => prev.data.concat(next.data))
                            let counts = ;
                            let result = [];
                            for (var i = 0; i < arr.length; i++)
                            var num = arr[i];
                            counts[num] = counts[num] ? counts[num] + 1 : 1;


                            for (let i in counts)
                            if (counts[i] === a.length)
                            result.push(i)


                            console.log(result)








                            let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

                            let arr = a.reduce((prev,next) => prev.data.concat(next.data))
                            let counts = ;
                            let result = [];
                            for (var i = 0; i < arr.length; i++)
                            var num = arr[i];
                            counts[num] = counts[num] ? counts[num] + 1 : 1;


                            for (let i in counts)
                            if (counts[i] === a.length)
                            result.push(i)


                            console.log(result)





                            let a = [name: "Foo",id: "123",data: ["65d4ze", "65h8914d"],name: "Bar",id: "321",data: ["65d4ze", "894ver81"]]

                            let arr = a.reduce((prev,next) => prev.data.concat(next.data))
                            let counts = ;
                            let result = [];
                            for (var i = 0; i < arr.length; i++)
                            var num = arr[i];
                            counts[num] = counts[num] ? counts[num] + 1 : 1;


                            for (let i in counts)
                            if (counts[i] === a.length)
                            result.push(i)


                            console.log(result)






                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited Mar 25 at 12:30









                            Peter Mortensen

                            13.8k1987113




                            13.8k1987113










                            answered Mar 25 at 10:55









                            tnkhtnkh

                            204110




                            204110



























                                draft saved

                                draft discarded
















































                                Thanks for contributing an answer to Stack Overflow!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid


                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.

                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function ()
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55335302%2fjavascript-array-of-objects-contains-the-same-array-data%23new-answer', 'question_page');

                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

                                Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

                                Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High