I have the following interface
export class Items {
items: Map<string, string>;
createdBy: string;
deliveredBy: string;
}
and I am getting my data the following day from the API call (Sorry I am not sure how to make a Stackblitz to represent the same data so pasting from console)
Map(2) {"ItemOne" => "ItemOneData1000", "ItemTwo" => "ItemTwoData2000"}
Map(2) {"ItemOne" => "ItemOneData1001", "ItemTwo" => "ItemTwoData3000"}
Map(2) {"ItemOne" => "ItemOneData1002", "ItemTwo" => "ItemTwoData4000"}
Map(2) {"ItemOne" => "ItemOmeData1003", "ItemTwo" => "ItemTwoData5000"}
Map(2) {"ItemOne" => "ItemOneData1004", "ItemTwo" => "ItemTwoData6000"}
Map(2) {"ItemOne" => "ItemOneData1230", "ItemTwo" => "ItemTwoData7000"}
Map(2) {"ItemOne" => "ItemOneData1430", "ItemTwo" => "ItemTwoData8000"}
Map(2) {"ItemOne" => "ItemOneData1340", "ItemTwo" => "ItemTwoData9000"}
Map(2) {"ItemOne" => "ItemONeData1210", "ItemTwo" => "ItemTwoData1000"}
Map(2) {"ItemOne" => "ItemONEData1430", "ItemTwo" => "ItemTwoData1100"}
Map(2) {"ItemOne" => "ItemOnEData1334", "ItemTwo" => "ItemTwoData1200"}
Map(2) {"ItemOne" => "ItemOnEData1555", "ItemTwo" => "ItemTwoData1300"}
Map(2) {"ItemOne" => "ItemOnEData9999", "ItemTwo" => "ItemTwoData1400"}
Map(2) {"ItemOne" => "ItemoNEData8888", "ItemTwo" => "ItemTwoData1500"}
Map(2) {"ItemOne" => "ItemONeData1550", "ItemTwo" => "ItemTwoData1600"}
I want to create and array for EACH key in a Map<string, string>.
My logic :
if(key) <-- to check for duplicate keys
push(values) <-- push each key value to create an array
code:
myArr = [];
this.service
.getItems(itemId)
.pipe()
.subscribe((val) => {
const allData = this.val;
allData.map((eachItem) => {
eachItem.items.forEach((value, key) => {
if(key){
myArr.push(value)
}
});
});
});
}
This leads to creating array for each key value but does not create a one array for EACH key. Is there an efficient way to create arrays ?
Thank you very much for your time and help.