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?
Opposite of a diet
At which point does a character regain all their Hit Dice?
Everything Bob says is false. How does he get people to trust him?
HashMap containsKey() returns false although hashCode() and equals() are true
What defines a dissertation?
Teaching indefinite integrals that require special-casing
How to prove that the query oracle is unitary?
MaTeX, font size, and PlotLegends
How will losing mobility of one hand affect my career as a programmer?
Will it be accepted, if there is no ''Main Character" stereotype?
What will be the benefits of Brexit?
What would be the benefits of having both a state and local currencies?
Applicability of Single Responsibility Principle
How was Earth single-handedly capable of creating 3 of the 4 gods of chaos?
Why are on-board computers allowed to change controls without notifying the pilots?
Modify casing of marked letters
What is the intuitive meaning of having a linear relationship between the logs of two variables?
How to verify if g is a generator for p?
Irreducibility of a simple polynomial
Is there a problem with hiding "forgot password" until it's needed?
Print name if parameter passed to function
How could Frankenstein get the parts for his _second_ creature?
What to do with wrong results in talks?
Mapping a list into a phase plot
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
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