使用jQuery映射函数';结果是一条链子

使用jQuery映射函数';结果是一条链子,jquery,Jquery,当我打电话时: var result = inputs.map(function(){ return $(this).val(); }); result包含如下数组: ['foo', 'bar', 'buz'] 我想加入结果: result.join(', '); 有效,但是 var result = inputs.map(function(){ return $(this).val(); }).join(', '); 给予 我的问题是理论上的-为什么我不能访问链中的结果数组,并且在处理

当我打电话时:

var result = inputs.map(function(){ return $(this).val(); });
result
包含如下数组:

['foo', 'bar', 'buz']
我想加入结果:

result.join(', ');
有效,但是

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


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

jQuery的
.map
方法的结果不是数组,而是jQuery集合。用于返回集合内容的数组

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

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


是一个相关的问题。

谢谢-实际上结果的类型是
对象
,但console将其显示为数组。是的,jQuery使其集合看起来像控制台中的数组。我第一次碰到这件事时就感到困惑。
var result = inputs.map(function(){ return $(this).val(); }).get().join(', ');