jQuery数组一直返回[object Object]

3

我正在创建一个jQuery数组,但我的代码一直返回三次 [object Object]。

这是我的代码:

var idArray = [];
$('.taskPHP').each(function() {
  var idStr = { 
    'taskPHPid': $(this).attr('id'), 
    'taskValue': $(this).val() 
  }
  idArray.push(idStr);
});

alert(idArray);

编辑: 刚才我太蠢了...我知道我不能警报一个数组。唉...喝太多啤酒和编程不搭配。

我会尽快给你信用。感谢你的帮助。


你在右花括号 } 后面缺少一个分号。 - David Thomas
@DavidThomas 缺少分号不应该引起问题。 - Will
@William,这就是为什么我把它留作评论的原因(即使语法正确,但松散的语法也会让我感到不舒服)。=) - David Thomas
JavaScript数组也是对象。这意味着警告它们应该产生“对象”。函数也是对象,当警报时它们也产生“对象”,除了内部函数,它们产生“函数”。 - Mihai Stancu
3个回答

10

看起来不错,尝试使用console.log并查看输出结果,或者使用alert(JSON.stringify(idArray))


1

Object 的默认 "to string" 是 "[object Object]"。

这就是 Array.toString 实现对其包含的所有元素调用的内容。(Array 有一个标准的 "pretty" 字符串表示,但只是浅层次的。)

首先将其转换为 JSON(即使用 JSON.stringify),或者使用一个 智能console.log(例如 Chrome 的),它不仅仅在结果上调用 [[ToString]] ..


0

你不能在alert()窗口中查看对象。

如果想要查看对象的内容,请使用:

console.log(idArray); // doesn't work in IE of course

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接