[英]How can I get data from a field name when the name changes dynamically in Javascript?
我有以下代碼:
switch (entityType) {
case "Exam":
entityId = formData.examId;
idColumn = 'examId';
break;
case "Subject":
entityId = formData.subjectId;
idColumn = 'subjectId';
break;
}
重復次數多於此次,但我只是在這里顯示兩個案例值。 我相信可以通過獲取EntityType的小寫字母並添加Id來獲取idColumn的值。 但是,有沒有一種方法可以在基於實體類型的字段的formData中提取值,而無需多次手動編碼。
您可以將整個替換為
idColumn = entityType.toLowerCase()+'Id';
entityId = formData[idColumn];
我建議您閱讀MDN的“使用對象” 。
你可以得到它:
entityId = formData[entityType.toLowerCase()+'Id'];
當然有! 您可以像數組一樣使用對象:
idColumn = entityType.toLowerCase() + "Id";
entityId = formData[idColumn];
您可以准備地圖,然后直接訪問這些字段。
例:
var map = {
'Exam': 'examId',
'Subject': 'subjectId'
}
if (map[entityType]) {
entityId = formData[map[entityType]];
idColumn = map[entityType];
}
else {
// error handling
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.