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