Jquery 在大多数情况下,数组以[object,object]的形式返回。这是什么意思?
在下面的示例中,前两个返回[object,object],但第三个返回前两个的预期值,即“Next” 下面是正在创建的阵列: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,我一直在写一些例子,比如这个页面上的例
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
withsceChoicesArr
,在对象上调用时,返回“[对象对象]”
而不是使用:
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(", ")