[英]Can't Use MAP data structure in Node.js
我在 node.js 的 map 程序中遇到了一些問題。 I am trying to use MAP into node.js program and I am not getting value.I have write some code to use map however I think it not working as its not go into the loop to fetch the key-value.
請在下面找到程序
async CreateProduceMVPRateAsset(data, callback) {
var ProducePRICE = {};
var MVPPRICE =[];
var MVPPRICE_BS ={};
var MVPPRICE_LB ={};
//var ASKINGPRICE= {}// put all the things which need to go to blockchain
const walletPath = path.join(process.cwd(), 'wallet');
const wallet = new FileSystemWallet(walletPath);
console.log(`Wallet path: ${walletPath}`);
console.log('Data', data);
console.log('Username', data.username);
var PRODUCENAME = data.PRODUCE
console.log('PRODUCENAME', PRODUCENAME);
var COUNTRY = data.COUNTRY;
console.log('COUNTRY', COUNTRY);
var STATE = data.STATE;
console.log('STATE', STATE);
var MVPRATES = data.MVPRATES;
console.log('MVPRATERATE', MVPRATES);
const MVPRATE = new Map(MVPRATES);
// program could not go inside the for loop
for (const [k, v] of MVPRATE.entries()) {
console.log("Inside map", k, v)
MVPPRICE = v.RATE // should go in MVPPRICE
var Value = MVPPRICE[0].value // want to get first element value from MVPPRICE array
console.log('Value', Value);
var value_lb = Value/40;
console.log('value_lb', value_lb);
value_lb = Number((value_lb).toFixed(4));
console.log('If the value of BS provided controller come here');
MVPPRICE_LB.Value = value_lb
MVPPRICE_LB.QuantityUnit = 'LB'
MVPPRICE_LB.uidisplay = false
MVPPRICE_LB.CurrencyUnit = 'USD'
MVPPRICE.push(MVPPRICE_LB);
ProducePRICE.MVPPRICE = MVPPRICE
console.log('MVPPRICE',MVPPRICE);
console.log('ProducePRICE',ProducePRICE);
// mvpprice.totalPrice = totalPrice;
console.log('for pricing',totalPrice);
// ProducePRICE.VARIETY = VARIETY;
ProducePRICE.PRODUCENAME = PRODUCENAME;
ProducePRICE.STATE = STATE;
ProducePRICE.COUNTRY = COUNTRY;
}
我使用 postman 發送的 JSON 結構
{
"username": "admin2",
"PRODUCE": "Apple",
"STATE": "MI",
"COUNTRY": "US",
"MVPRATES": {
"fuji": {
"VARIETY": "fuji",
"RATE": [
{
"UNIT": "Bussel",
"CURRENCY": "USD",
"VALUE": 10.25,
"UIDISPLAY": true
}
]
},
"gala": {
"VARIETY": "gala",
"RATE": [
{
"UNIT": "Bussel",
"CURRENCY": "USD",
"VALUE": 10.25,
"UIDISPLAY": true
}
]
}
}
}
似乎您可能想要執行以下操作,這將創建一個 Map 有兩個條目fuji
和gala
const MVPRATES = { "fuji": { "VARIETY": "fuji", "RATE": [{ "UNIT": "Bussel", "CURRENCY": "USD", "VALUE": 10.25, "UIDISPLAY": true }] }, "gala": { "VARIETY": "gala", "RATE": [{ "UNIT": "Bussel", "CURRENCY": "USD", "VALUE": 10.25, "UIDISPLAY": true }] } } const MVPRATE = new Map(Object.entries(MVPRATES)); for (const [k, v] of MVPRATE.entries()) { console.log("Inside map", k, v) }
雖然,對Map
的需求仍不清楚,因為您可以通過以下方式實現上述目標
const MVPRATES = { "fuji": { "VARIETY": "fuji", "RATE": [{ "UNIT": "Bussel", "CURRENCY": "USD", "VALUE": 10.25, "UIDISPLAY": true }] }, "gala": { "VARIETY": "gala", "RATE": [{ "UNIT": "Bussel", "CURRENCY": "USD", "VALUE": 10.25, "UIDISPLAY": true }] } } for (const [k, v] of Object.entries(MVPRATES)) { console.log("Inside map", k, v) }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.