Jquery 在大多数情况下,数组以[object,object]的形式返回。这是什么意思?

Jquery 在大多数情况下,数组以[object,object]的形式返回。这是什么意思?,jquery,xml,arrays,Jquery,Xml,Arrays,在下面的示例中,前两个返回[object,object],但第三个返回前两个的预期值,即“Next” 下面是正在创建的阵列: var sceChoicesArr = []; $(xml).find('choice').each(function(){sceChoicesArr.push($(this));}); 下面是它在上面一行中寻找的xml: <choice>Next</choice> 下一步 我试图将数组转换成html,我一直在写一些例子,比如这个页面上的例

在下面的示例中,前两个返回[object,object],但第三个返回前两个的预期值,即“Next”

下面是正在创建的阵列:

var sceChoicesArr = [];

$(xml).find('choice').each(function(){sceChoicesArr.push($(this));});
下面是它在上面一行中寻找的xml:

<choice>Next</choice>
下一步
我试图将数组转换成html,我一直在写一些例子,比如这个页面上的例子:以及这个:但是这些例子似乎都不能提取数组中的值,因为当我用警报检查它时,我得到的只是[object,object]

所以我的问题是,什么是[对象,对象],为什么我得到的是这个而不是“下一个”


在我看来,数组的唯一值应该等于[“Next”]

在您的代码中,您使用的是
sceChoicesArr.push($(this))。将jQuery对象推送到数组中

警报
隐式调用
Object.prototype.toString
with
sceChoicesArr
,在对象上调用时,返回
“[对象对象]”

而不是使用:

sceChoicesArr.push($(this));
使用:

然后以“可读”形式获取数组:

继续按
$(此)
,然后要获得“可读”表单,请使用:

var readableArr = $.map(sceChoicesArr, function (value, index) {
    return $(value).text();
});
它将返回一个只包含每个元素文本的新数组。然后使用:

readableArr.join(", ")

如果您只想查看数组的内容(而不想在其他任何地方使用它),可以使用
console.log(sceChoicesArr)
应该提供变量的有用概述。

这意味着它是一个对象,警报不是调试工具。请使用
控制台.log
而不是
警报
,这样您就可以查看整个对象。@adeneo您没有给我足够的时间:),我不确定他们是否想从开发人员的角度查看其内容(看着屏幕)或需要它在代码/页面中的其他位置
sceChoicesArr.join(", ")
var readableArr = $.map(sceChoicesArr, function (value, index) {
    return $(value).text();
});
readableArr.join(", ")