So I wrote this function to convert an object to an array.
Function:
function objectToArray(obj) {
const result = [];
for (const [key, value] of Object.entries(obj)) {
if (typeof value === 'object' && value !== null) {
result[key] = objectToArray(value);
} else {
result[key] = value;
}
}
return result;
}
Object that I try to convert:
const obj = {
"1129931367": {
"id": 10,
"amount": 1,
"assets": {
"appid": 252490,
"app_name": "name",
"classid": 1129931367,
"icon_url": "url",
"tradable": 1,
"name": "name",
"market_name": "market name",
"market_hash_name": "market hash name",
"sell_listings": 3215,
"sell_price": "0.10",
"updated_at": "17-Dec-2022"
},
"market_tradable_restriction": 7,
"market_marketable_restriction": 7,
"tags": [
{
"category": "category",
"internal_name": "internal name",
"localized_category_name": "localized category name",
"localized_tag_name": "localized tag name"
},
{
"category": "category",
"internal_name": "internal name",
"localized_category_name": "localized category name",
"localized_tag_name": "localized tag name"
}
]
}
}
Output:
(1129931368) [empty × 1129931367, Array(0)]
But when I try to convert the object that I want to convert it adds a lot of empty arrays and I don't know why. Is this because there is something wrong with the Object or with my function?
Thanks for the help :D
I have tried rewriting the function I provided multiple times but this is as close as I got to what I want.
resultis an array and you are updatingresult[key]instead of pushing into the array. When you add the index1129931367, the array length becomes 1129931368.