Reputation: 3327
Here is my Object:
I want to create three arrays from the three keys of the object such as:
let person = [Object.person];
let products = [Object.products];
let items = [Object.items];
So, if I print that three variables,
console.log(person);
console.log('==========================');
console.log(products);
console.log('==========================');
console.log(items);
Expected output will be:
[
{
id: '1',
profession: 'student',
name: 'Alex'
},
{
id: '2',
profession: 'businessman',
name: 'Jay'
}
]
==========================
[
{
id: '5',
name: 'furniture',
price: 200.0
}
]
==========================
[
{
id: '6',
name: 'Medical Devices',
price: 70.0
}
]
How to do this?
let obj = {
person: [
{
id: '1',
profession: 'student',
name: 'Alex'
},
{
id: '2',
profession: 'businessman',
name: 'Jay'
}
],
products: [
{
id: '5',
name: 'furniture',
price: 200.0
}
],
items: [
{
id: '6',
name: 'Medical Devices',
price: 70.0
}
]
};
let person = [obj.person];
let products = [obj.products];
let items = [obj.items];
console.log(person);
console.log('==========================');
console.log(products);
console.log('==========================');
console.log(items);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Upvotes: -1
Views: 36
Reputation: 6894
You just need to remove the wrapper []
in your initialization of those three variables, since they are already arrays -
So, instead of
let person = [obj.person]; // This will create an array with a single item as whatever is in `obj.person`, in your case an array
you should use
let person = obj.person;
Run the code snippet below to check
const obj = {
person: [
{
id: '1',
profession: 'student',
name: 'Alex'
},
{
id: '2',
profession: 'businessman',
name: 'Jay'
}
],
products: [
{
id: '5',
name: 'furniture',
price: 200.0
}
],
items: [
{
id: '6',
name: 'Medical Devices',
price: 70.0
}
]
};
let person = obj.person;
let products = obj.products;
let items = obj.items;
console.log(person);
console.log('==========================');
console.log(products);
console.log('==========================');
console.log(items);
Note: You shouldn't used reserved keywords like Object
for naming your variables.
Upvotes: 0
Reputation: 56754
Simply use object destructuring. Please note that you cannot use Object
as a variable name because it is a reserved word (name of the Object prototype in Javascript).
let obj = {
person: [
{
id: '1',
profession: 'student',
name: 'Alex'
},
{
id: '2',
profession: 'businessman',
name: 'Jay'
}
],
products: [
{
id: '5',
name: 'furniture',
price: 200.0
}
],
items: [
{
id: '6',
name: 'Medical Devices',
price: 70.0
}
]
};
let { person, products, items } = obj;
console.log(person);
console.log(products);
console.log(items);
Upvotes: -1
Reputation: 680
save the first Object as variable and access the properties and save to a new variables like :
const myObject = {
person: [
{
id: '1',
profession: 'student',
...
price: 70.0
}
]
};
let person = myObject.person;
let products = myObject.products;
let items = myObject.items;
console.log(person, products, items);
Upvotes: -1
Reputation: 27041
First I don't belive you can use Object
since it's reserved, second remove []
around [obj.person]
let person = obj.person;
let products = obj.products;
let items = obj.items;
Demo
var obj = {
person: [{
id: '1',
profession: 'student',
name: 'Alex'
},
{
id: '2',
profession: 'businessman',
name: 'Jay'
}
],
products: [{
id: '5',
name: 'furniture',
price: 200.0
}],
items: [{
id: '6',
name: 'Medical Devices',
price: 70.0
}]
};
let person = obj.person;
let products = obj.products;
let items = obj.items;
console.log(person);
console.log('==========================');
console.log(products);
console.log('==========================');
console.log(items);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Upvotes: -1