当名称在Javascript中动态更改时,如何从字段名中获取数据?
我有以下代码:当名称在Javascript中动态更改时,如何从字段名中获取数据?,javascript,Javascript,我有以下代码: switch (entityType) { case "Exam": entityId = formData.examId; idColumn = 'examId'; break; case "Subject": entityId =
switch (entityType) {
case "Exam":
entityId = formData.examId;
idColumn = 'examId';
break;
case "Subject":
entityId = formData.subjectId;
idColumn = 'subjectId';
break;
}
它被重复了很多次,但我在这里只展示了两个案例值。我相信可以通过获取entityType的小写字母并添加Id来获取idColumn的值。但是有没有一种方法可以在formData中提取基于entityType的字段的值,而无需手动编写多次代码。您可以用
idColumn = entityType.toLowerCase()+'Id';
entityId = formData[idColumn];
我建议您阅读。您可以通过以下方式获得:
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
}
不要忘记entityType.charAt(0.toLowerCase()+entityType.slice(1);