簡體   English   中英

當名稱在Javascript中動態更改時,如何從字段名稱中獲取數據?

[英]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.

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