制作一个不带eval()的动态变量,该变量对应于一个数组

Make a dynamic variable without eval() corresponding to an array

本文关键字:变量 数组 于一个 动态 eval 一个      更新时间:2023-09-26

我正在制作一个字符串的表单,因此,使用2个数组,我将所需的变量传递给按下提交按钮上的函数(表单元素的名称和变量名称)。

但我使用的是eval(),这并不好,但我在对象或数组方面还不够好,无法修复它

我真正的问题(尽管有任何见解值得赞赏)是:当选中与单选按钮对应的文本框时,我如何让它引用数组并更改从数组中更改的变量?

例如,如果我有一个数组:

var examplearray = 
[
   "foo"
]

并且在文本框上=

maritalvar = document.getElementById('othermaritaltxt').value

如何将maritalvar更改为foo

如果可能的话,它是否可以搜索fo以获得foo,这样如果我在它之前添加一个元素,它就不会中断(假设使用examplearray[0])?

不要使用动态变量,要使用对象中的属性。

示例:

var formData = {};
var fields = [ 'FirstName', 'LastName', 'Age' ];
for (var i = 0; i < fields.length; i++) {
  var name = fields[i];
  formData[name] = document.getElementById(name).value;
}

现在formData对象有三个属性,就像您做的一样:

var formdata = {
  'FirstName': document.getElementById('FirstName').value,
  'LastName': document.getElementById('LastName').value,
  'Age': document.getElementById('Age').value
};