I have an array of ID's as below:
[121, 432, 322]
I want all of it to be added to an array in the following format (Expected Output):
[
{
"term": {
"brand_id": 121
}
},
{
"term": {
"brand_id": 432
}
},
{
"term": {
"brand_id": 322
}
}
]
I am able to get the structure right and get a result almost as expected. But am ending up having just the last value as the value in all items of the object as below (Current Output):
[
{
"term": {
"brand_id": 322
}
},
{
"term": {
"brand_id": 322
}
},
{
"term": {
"brand_id": 322
}
}
]
My code is as below:
The array of IDs is in an array named brands.
let brands_formated = [];
//I have the array stored in `brands`
let format = { "term" : {
"brand_id": 0 //will be replaced
}
};
brands.forEach(function(brand) {
//The structure for brand query
format.term.brand_id = brand;
//Check if the right brand is format. Outputs as desired.
console.log(format);
brands_formated.push(format);
});
Though console.log
in loop confirms am iterating correctly. The final output just has one value.