在链中使用jQuery map函数结果

时间:2014-05-23 08:15:30

标签: jquery

我打电话的时候:

var result = inputs.map(function(){ return $(this).val(); });

result包含如下数组:

['foo', 'bar', 'buz']

我想加入结果:

result.join(', ');

有效,但

var result = inputs.map(function(){ return $(this).val(); }).join(', ');

给出

TypeError: undefined is not a function

我的问题在理论上是相反的 - 为什么我不能在链中访问结果数组,在处理结果之前我必须将它分配给变量?

2 个答案:

答案 0 :(得分:4)

jQuery的.map方法的结果不是数组,它是一个jQuery集合。使用.get()返回集合内容的数组。

var result = inputs.map(function(){ return $(this).val(); }).get().join(', ');

答案 1 :(得分:1)

因为返回的值是一个没有join方法的jQuery包装数组,所以应该使用jQuery get方法获取数组。

This是一个相关的问题。