为什么当我在JS数组上调用.toString时得到“对象对象”
why am I getting "object Object" when I call .toString on a JS array?
我正在尝试使用以下内容查看给定文档中的所有cookie:
function get_cookies_array() {
var cookies = {};
if (document.cookie && document.cookie != '') {
var split = document.cookie.split(';');
for (var i = 0; i < split.length; i++) {
var name_value = split[i].split("=");
name_value[0] = name_value[0].replace(/^ /, '');
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
}
}
return cookies;
}
var cookies = get_cookies_array();
alert(cookies.toString());
但是,我在警报框中看到的是
[object Object]
我期待一个逗号分隔的值列表。我做错了什么?
返回的值不是数组。这是一个普通的对象。大概你确实想在这里使用一个对象,以便你可以使用字符串值键。您可以像这样打印出其内容:
var cookies = get_cookies_array();
console.log(JSON.stringify(cookies));
或逐行:
Object.keys(cookies).forEach(function (key) {
console.log(key, ' - ', cookies[key]);
});
将var cookies = {};
替换为var cookies = [];
,以便处理数组而不是对象。
然后,由于您使用的是关联数组,因此还可以像这样将写入更改为数组:
cookies.push([decodeURIComponent(name_value[0]), decodeURIComponent(name_value[1])]);
相关文章:
- 如何使用内部对象构造对象
- 添加到Javascript中对象的对象中
- 在JS中围绕旋转对象旋转对象
- “;Stub对象”;对象不符合检查点's条件
- 向Angular作用域对象添加对象数组——TypeError
- Javascript JSON对象替换对象中的字符串
- 在HTML5画布中,是否可以围绕旋转对象旋转对象
- 动态创建嵌套的JSON对象父对象和子对象
- 如何筛选所有属性都是对象的对象
- javascript:对具有对象的对象进行排序并读取它们
- 如何将对象插入对象列表的开头,当它有 unshift 不是函数错误
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 使用 Javascript 对象作为对象键
- PhantomJS 控制台.log对象输出 [对象对象]
- 如何创建行为类似于本机对象的对象
- IE8对象当对象包含null值时应出现错误
- 循环遍历以数组作为值的对象的对象
- 递归没有完全遍历具有嵌套对象的对象
- 按对象的 ID 删除对选定对象的对象引用
- 当在JSON中使用包含对象的对象与对象数组时,可接受的约定是什么