Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当名称在Javascript中动态更改时,如何从字段名中获取数据?_Javascript - Fatal编程技术网

当名称在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);