簡體   English   中英

如何在Angular4 / Ionic 3中的多維數組中存儲和檢索數據

[英]How to Store and Retrieve Data in Multidimensional Array in Angular4 / Ionic 3

我試圖在Angular 4(Ionic 3)中存儲一些值,然后根據鍵從數組中獲取一行。 密鑰被傳遞到函數中,該函數檢索用於計算值的值。 class屬性在下面。 我很確定它的格式正確。

let chemicals = [{
    "trichlor" : [{
        "ozmul": 6854.95, 
        "volume": "x"
    }],
    "dichlor": [{
        "ozmul": 4149.03, 
        "volume": 0.9351
    }],
    "cal-hypo-48": [{
        "ozmul": 3565.44,
        "volume": 0.9352
    }],
    "cal-hypo-53": [{
        "ozmul": 3936.84,
        "volume": 0.9352
    }],
    "cal-hypo-65": [{
        "ozmul": 4828.12,
        "volume": 0.9352
    }],
    "cal-hypo-73": [{
        "ozmul": 5422.41,
        "volume": 0.9352
    }],
    "lithium-hypo": [{
        "ozmul": 2637.5,
        "volume": 0.978
    }],
    "chlorine-gas": [{
        "ozmul": 7489.4,
        "volume": "x"
    }]
}];

因此,基本上,我需要做的是獲取傳遞給函數的值(以三氯為例)。 然后,我需要能夠使用該值來獲取與三氯有關的ozmul和體積值。 在提供程序中完成此操作的正確方法是什么? 下面是使用值的函數中的代碼示例:

chemical = "trichlor"; // This is passed into the function

if (chemicals.chemical.ozmul == 'x') {
    let tempValueTwoWeight = 'Unknown';
} else {
    let tempValueTwoVolume = (tempValueTwo * chemicals.chemical.volume)
} 

只需使用:

chemicals[0][chemical][0].ozmul

替代chemicals.chemical.ozmul

這樣的事情也將適合您,並且您無需對路徑進行硬編碼

test(val:string){
  this.chemicals.forEach(data => {
    let value = data[val].find(data => data.volume === 'x');
    console.log(value);
  });
}

將此作為通過您要搜索的val的方法,還可以使data.volume參數動態並檢查

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM