在Javascript中使用value函数中的数组键?

May*_*You 3 javascript arrays dom

我想要一个HTML元素名称字符串的关联数组对象到隐藏的输入元素.像这样......

var fieldNames2inputElements = {
    'FirstName' : document.getElementsByName('FirstName')[0],
    'LastName'  : document.getElementsByName('LastName')[0],
    ...
};
Run Code Online (Sandbox Code Playgroud)

我已经在自言自语了,知道必须采用更干的方式来做这件事.有什么建议?如何使用关联数组的字符串键作为该键值的某些参数?

顺便说一句:我无法控制具有此名称属性的隐藏输入元素与id或其他选择方式.

und*_*ned 5

您可以定义一个辅助函数,它接受目标元素的名称并返回一个对象:

function getByName(names) {
   return names.reduce(function(ret, name) {
       ret[name] = document.querySelector('input[name="'+ name +'"]');
       return ret;
   }, {});
}

var fieldNames2inputElements = getByName(['FirstName', 'lastName', '...']);
Run Code Online (Sandbox Code Playgroud)