JavaScript array of objects contains the same array dataSimplest 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?
The baby cries all morning
What defines a dissertation?
How do I keep an essay about "feeling flat" from feeling flat?
Lay out the Carpet
How can I get through very long and very dry, but also very useful technical documents when learning a new tool?
How can I replace every global instance of "x[2]" with "x_2"
Is the destination of a commercial flight important for the pilot?
Is exact Kanji stroke length important?
How does a character multiclassing into warlock get a focus?
Personal Teleportation as a Weapon
How do I define a right arrow with bar in LaTeX?
How to verify if g is a generator for p?
Is it okay / does it make sense for another player to join a running game of Munchkin?
Have I saved too much for retirement so far?
Generic lambda vs generic function give different behaviour
The plural of 'stomach"
Tiptoe or tiphoof? Adjusting words to better fit fantasy races
Failed to fetch jessie backports repository
What's the purpose of "true" in bash "if sudo true; then"
Modify casing of marked letters
Why are on-board computers allowed to change controls without notifying the pilots?
Efficiently merge handle parallel feature branches in SFDX
What is the intuitive meaning of having a linear relationship between the logs of two variables?
How will losing mobility of one hand affect my career as a programmer?
JavaScript array of objects contains the same array data
Simplest 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?
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);
javascript arrays
New contributor
|
show 3 more comments
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);
javascript arrays
New contributor
So get all arrays elements that are present on alla
?
– Eddie
yesterday
3
Possible duplicate of Simplest code for array intersection in javascript
– James Long
yesterday
@JamesLong I don't understand the duplication, why this answer can help me ?
– Kamoulox
yesterday
@Eddie I need to get all array into the key data. This key is present into all object of my principal array.
– Kamoulox
yesterday
@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
yesterday
|
show 3 more comments
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);
javascript arrays
New contributor
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
javascript arrays
New contributor
New contributor
edited yesterday
Peter Mortensen
13.8k1987113
13.8k1987113
New contributor
asked yesterday
KamouloxKamoulox
413
413
New contributor
New contributor
So get all arrays elements that are present on alla
?
– Eddie
yesterday
3
Possible duplicate of Simplest code for array intersection in javascript
– James Long
yesterday
@JamesLong I don't understand the duplication, why this answer can help me ?
– Kamoulox
yesterday
@Eddie I need to get all array into the key data. This key is present into all object of my principal array.
– Kamoulox
yesterday
@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
yesterday
|
show 3 more comments
So get all arrays elements that are present on alla
?
– Eddie
yesterday
3
Possible duplicate of Simplest code for array intersection in javascript
– James Long
yesterday
@JamesLong I don't understand the duplication, why this answer can help me ?
– Kamoulox
yesterday
@Eddie I need to get all array into the key data. This key is present into all object of my principal array.
– Kamoulox
yesterday
@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
yesterday
So get all arrays elements that are present on all
a
?– Eddie
yesterday
So get all arrays elements that are present on all
a
?– Eddie
yesterday
3
3
Possible duplicate of Simplest code for array intersection in javascript
– James Long
yesterday
Possible duplicate of Simplest code for array intersection in javascript
– James Long
yesterday
@JamesLong I don't understand the duplication, why this answer can help me ?
– Kamoulox
yesterday
@JamesLong I don't understand the duplication, why this answer can help me ?
– Kamoulox
yesterday
@Eddie I need to get all array into the key data. This key is present into all object of my principal array.
– Kamoulox
yesterday
@Eddie I need to get all array into the key data. This key is present into all object of my principal array.
– Kamoulox
yesterday
@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
yesterday
@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
yesterday
|
show 3 more comments
5 Answers
5
active
oldest
votes
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);
I have some troubles to understand this piece of codeb.filter(Set.prototype.has, new Set(a))
. But it's working perfectly, thanks
– Kamoulox
yesterday
5
filter
has two parameters, one foir the callback, which is here a prototype function ofSet
,has
which checks a value against a set. at this point, the method does not works because it need an instance ofSet
. the second parameter isthisArg
, where you can hand over an object, which is used asthis
in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a boundthis
by using this as callback:Set.prototype.has.bind(new Set(a))
, which is now a function withthis
.
– Nina Scholz
yesterday
With arraycommon = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
@PranavCBalan,Array#includes
uses a second parameterfromIndex
and gets this value with the index of the callback ...
– Nina Scholz
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
add a comment |
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)
add a comment |
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);
add a comment |
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());
Thanks for your answer, that a great code. Butflat
is not working on my browser
– Kamoulox
yesterday
add a comment |
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)
add a comment |
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
);
);
Kamoulox is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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);
I have some troubles to understand this piece of codeb.filter(Set.prototype.has, new Set(a))
. But it's working perfectly, thanks
– Kamoulox
yesterday
5
filter
has two parameters, one foir the callback, which is here a prototype function ofSet
,has
which checks a value against a set. at this point, the method does not works because it need an instance ofSet
. the second parameter isthisArg
, where you can hand over an object, which is used asthis
in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a boundthis
by using this as callback:Set.prototype.has.bind(new Set(a))
, which is now a function withthis
.
– Nina Scholz
yesterday
With arraycommon = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
@PranavCBalan,Array#includes
uses a second parameterfromIndex
and gets this value with the index of the callback ...
– Nina Scholz
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
add a comment |
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);
I have some troubles to understand this piece of codeb.filter(Set.prototype.has, new Set(a))
. But it's working perfectly, thanks
– Kamoulox
yesterday
5
filter
has two parameters, one foir the callback, which is here a prototype function ofSet
,has
which checks a value against a set. at this point, the method does not works because it need an instance ofSet
. the second parameter isthisArg
, where you can hand over an object, which is used asthis
in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a boundthis
by using this as callback:Set.prototype.has.bind(new Set(a))
, which is now a function withthis
.
– Nina Scholz
yesterday
With arraycommon = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
@PranavCBalan,Array#includes
uses a second parameterfromIndex
and gets this value with the index of the callback ...
– Nina Scholz
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
add a comment |
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);
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);
answered yesterday
Nina ScholzNina Scholz
193k15107178
193k15107178
I have some troubles to understand this piece of codeb.filter(Set.prototype.has, new Set(a))
. But it's working perfectly, thanks
– Kamoulox
yesterday
5
filter
has two parameters, one foir the callback, which is here a prototype function ofSet
,has
which checks a value against a set. at this point, the method does not works because it need an instance ofSet
. the second parameter isthisArg
, where you can hand over an object, which is used asthis
in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a boundthis
by using this as callback:Set.prototype.has.bind(new Set(a))
, which is now a function withthis
.
– Nina Scholz
yesterday
With arraycommon = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
@PranavCBalan,Array#includes
uses a second parameterfromIndex
and gets this value with the index of the callback ...
– Nina Scholz
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
add a comment |
I have some troubles to understand this piece of codeb.filter(Set.prototype.has, new Set(a))
. But it's working perfectly, thanks
– Kamoulox
yesterday
5
filter
has two parameters, one foir the callback, which is here a prototype function ofSet
,has
which checks a value against a set. at this point, the method does not works because it need an instance ofSet
. the second parameter isthisArg
, where you can hand over an object, which is used asthis
in the callback. mabe a different use makes ir a bet more clear. you could gate the same with a boundthis
by using this as callback:Set.prototype.has.bind(new Set(a))
, which is now a function withthis
.
– Nina Scholz
yesterday
With arraycommon = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
@PranavCBalan,Array#includes
uses a second parameterfromIndex
and gets this value with the index of the callback ...
– Nina Scholz
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
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
yesterday
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
yesterday
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
yesterday
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
yesterday
With array
common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
With array
common = array .map(o => o[key]) .reduce((a, b) => b.filter(Array.prototype.includes, a));
– Pranav C Balan
yesterday
@PranavCBalan,
Array#includes
uses a second parameter fromIndex
and gets this value with the index of the callback ...– Nina Scholz
yesterday
@PranavCBalan,
Array#includes
uses a second parameter fromIndex
and gets this value with the index of the callback ...– Nina Scholz
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
@NinaScholz : oops that's right, that would make issues :)
– Pranav C Balan
yesterday
add a comment |
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)
add a comment |
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)
add a comment |
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)
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)
edited yesterday
Peter Mortensen
13.8k1987113
13.8k1987113
answered yesterday
Pranav C BalanPranav C Balan
87.7k1391117
87.7k1391117
add a comment |
add a comment |
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);
add a comment |
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);
add a comment |
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);
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);
answered yesterday
Shree TiwariShree Tiwari
287112
287112
add a comment |
add a comment |
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());
Thanks for your answer, that a great code. Butflat
is not working on my browser
– Kamoulox
yesterday
add a comment |
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());
Thanks for your answer, that a great code. Butflat
is not working on my browser
– Kamoulox
yesterday
add a comment |
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());
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());
edited yesterday
Peter Mortensen
13.8k1987113
13.8k1987113
answered yesterday
thelastwormthelastworm
1428
1428
Thanks for your answer, that a great code. Butflat
is not working on my browser
– Kamoulox
yesterday
add a comment |
Thanks for your answer, that a great code. Butflat
is not working on my browser
– Kamoulox
yesterday
Thanks for your answer, that a great code. But
flat
is not working on my browser– Kamoulox
yesterday
Thanks for your answer, that a great code. But
flat
is not working on my browser– Kamoulox
yesterday
add a comment |
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)
add a comment |
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)
add a comment |
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)
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)
edited yesterday
Peter Mortensen
13.8k1987113
13.8k1987113
answered yesterday
tnkhtnkh
17210
17210
add a comment |
add a comment |
Kamoulox is a new contributor. Be nice, and check out our Code of Conduct.
Kamoulox is a new contributor. Be nice, and check out our Code of Conduct.
Kamoulox is a new contributor. Be nice, and check out our Code of Conduct.
Kamoulox is a new contributor. Be nice, and check out our Code of Conduct.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
-arrays, javascript
So get all arrays elements that are present on all
a
?– Eddie
yesterday
3
Possible duplicate of Simplest code for array intersection in javascript
– James Long
yesterday
@JamesLong I don't understand the duplication, why this answer can help me ?
– Kamoulox
yesterday
@Eddie I need to get all array into the key data. This key is present into all object of my principal array.
– Kamoulox
yesterday
@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
yesterday