繁体   English   中英

如何从jQuery.map获取关联数组作为输出?

[英]How to get associative array as output from jQuery.map?

我正在使用JQuery map函数来获取输入值的数组:

var inputs = $("[id^='field']");
var values = inputs.map(function () { 
                             return $(this).val(); 
                        }).get();

我想得到一个[id,value]的关联数组:

{
   id1: value1, 
   id2: value2
}

.map()返回一个数组,所以如果你想要一个id值作为键的对象,你就可以这样做:

function getFieldValues() {
    var values = {};
    $("[id^='field']").each(function() {
        values[this.id] = this.value;
    });
    return values;
}
var values = inputs.map(function () { 
                             var obj = {};
                             obj[ this.id ] = $(this).val(); 
                             return obj;
                        }).get();

如果它们不是selectradio输入,请使用this.value而不是$(this).val()

或者,如果您只是想要一个对象,请使用.each

var obj = {};
inputs.each(function () { 
                             obj[ this.id ] = $(this).val(); 
                        });

如果您确实需要一个对象数组,并且您的输入具有其name属性,则还可以使用serializeArray

var values = inputs.serializeArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM