Reputation: 898
I’ve got an JavaScript Array of Objects. These Objects have a unique identifier as a String. Since there is no need to have them in an array, how do I get rid of the outer array?
When trying to pop, (un)shift, etc. I’m always losing either UniqueStringA or UniqueStringB
I added a jsbin link here: https://jsbin.com/sulozeyelo/edit?js,console
What I got
const arrObj = [
{
"UniqueStringA": {
"abc": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"def": [],
"efg": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"xyz": []
}
},
{
"UniqueStringB": {
"abc": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"def": [],
"efg": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"xyz": []
}
}
];
Result should be like:
const obj = {
"UniqueStringA": {
"abc": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"def": [],
"efg": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"xyz": []
},
"UniqueStringB": {
"abc": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"def": [],
"efg": [
{
"PropPair": {
"a": "c",
"b": "d"
}
},
{
"PropPair": {
"a": "c",
"b": "d"
}
}
],
"xyz": []
}
};
Upvotes: 1
Views: 6057
Reputation: 1486
You can use Object.assign()
and spread operator.
const arrObj = [
{
"uniqueStringA": {
"abc": [{
"propPair": {
"A": "Hello",
"B": "World"
}
}]
}
},
{
"uniqueStringB": {
"abc": [{
"propPair": {
"A": "Hello",
"B": "World"
}
}]
}
}];
const obj = Object.assign({}, ...arrObj );
console.log(obj);
Upvotes: 4