为什么我的对象显示为&;[object object]&;
Why are my objects showing up as "[object Object]"?
我正在尝试按年龄对记录数组进行冒泡排序,但我得到的是:
[object object], [object object], [object object]
如何让它显示记录的值?
students = [
{name: "timothy", age: "9"},
{name: "claire", age: "12"},
{name: "michael", age: "20"}
];
for (var i = 0; i < students.length; i++) {
for (var j = i + 1; j < students.length; j++) {
if (Number(students[i].age) > Number(students[j].age)) {
tempValue = students[j].age;
students[j].age = students[i].age;
students[i].age = tempValue;
}
}
}
alert(students);
默认情况下,JavaScript中的所有对象在转换为字符串时都转换为"[object Object]"
(就像alert()
的情况一样)。
你可以试着:
-
使用console.log或调试器检查数组(而不是使用alert())
console.log(students); //Open your browser's developer tools to see the console. //Try F12, ctrl+shift+J or ctrl+shift+I as shortcuts
-
使用
JSON.stringify
函数序列化对象JSON.stringify({a:1}); //yields '{"a":1}'
-
给你的对象一个自定义toString方法
var x = { a : 17, toString: function(){ return 'I have a ' + this.a; } }; alert(x); //gives "I have a 17"
在支持的浏览器中,您可以警告或记录JSON字符串表示:
alert(JSON.stringify(students));
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何识别我的网站中的慢速设备
- 如何将JSON数据导入我的ejs模板
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 为什么我得到的是返回的[object HTML ParagraphElement]而不是我的号码
- object.create 不使用我的新值
- 我如何在Chrome工具中看到[object object]所指的内容
- 为什么 Object.create 使我的私有变量成为静态变量
- 尝试在 Wordpress 中使用 jQuery 文件,这需要 noConflict,但现在我的 Object [obj
- 停止Angular将[object object]插入到我的文本输入中
- 如何避免出现" TypeError: can't access dead object "的状态?在我的Fire
- 为什么我的对象显示为&;[object object]&;
- 雄辩的Javascript, listToArray.为什么我的for循环返回rest [object]当输入数组有超过
- 为什么我的 HTML 构造函数对象返回 [object Object] 而不是 [HTMLElementElement]
- ng-repeat不能用Object.create声明我的模型