Javascript 将数组上已解析的字符串存储到另一个数组

Javascript 将数组上已解析的字符串存储到另一个数组,javascript,arrays,Javascript,Arrays,我的实验代码是否会像我的工作代码一样工作/表现为假设HTML、CSS和以前的JS工作 若否,原因为何?此外,我应该如何创建代码的循环数组样式版本 实验代码: var currentAccount = []; var fieldList = ["firstName","lastName","age","gender"]; for (var i = 0; i < fieldList.length; i++) { JSON.parse(fieldList[i]) = document.

我的实验代码是否会像我的工作代码一样工作/表现为假设HTML、CSS和以前的JS工作

若否,原因为何?此外,我应该如何创建代码的循环数组样式版本

实验代码:

var currentAccount = [];
var fieldList = ["firstName","lastName","age","gender"];

for (var i = 0; i < fieldList.length; i++) {
    JSON.parse(fieldList[i]) = document.getElementById(fieldList[i]).value;
    currentAccount.push(JSON.parse(fieldList[i]));
}
for (var i = 0; i < fieldList.length; i++) {
    var fieldVal = document.getElementById(fieldList[i]).value;
    currentAccount.push(fieldVal);
}
无需在实验代码中使用JSON.parse:

var currentAccount = [];
var fieldList = ["firstName","lastName","age","gender"];

for (var i = 0; i < fieldList.length; i++) {
    JSON.parse(fieldList[i]) = document.getElementById(fieldList[i]).value;
    currentAccount.push(JSON.parse(fieldList[i]));
}
for (var i = 0; i < fieldList.length; i++) {
    var fieldVal = document.getElementById(fieldList[i]).value;
    currentAccount.push(fieldVal);
}
我应该如何创建代码的循环数组样式版本

像这样的

var fieldIds = [ "firstName", "lastName", "age", "gender" ];
var currentAccount = fieldIds.map( function( fieldId ){
  return document.getElementById( fieldId ).value;
})

这里有一个使用ES6和另一种方法document.getElementById的快速解决方案。希望有帮助

var $ = function( id ) { return document.getElementById( id ); };
var fieldIds = [ "firstName", "lastName", "age", "gender" ];
var currentAccount = fieldIds.map((fieldId) =>{
    return $(fieldId).value;
});

使用字符串变量名可以吗?修改fieldList[i]没有意义我更新了答案,将字段值存储在临时变量中,而不是fieldList[i]。这样比较容易混淆。@TeokanDuranDemircan字符串是变量的值,而不是名称。没关系。