JavaScript 对象数组

标签 javascript object

我有下面的代码片段:

var obj = new Object();
var foo = new Object();
var bar = new Object();

obj[foo] = 'hello';
obj[bar] = 'hi'
console.log (obj[foo]) 

它打印“hi”。这是为什么?

最佳答案

JS 中的对象只能有字符串键。当您执行 obj[foo] 时,实际上您执行的是 obj[foo.toString()]

您的代码将是

obj["[object Object]"] = 'hello';
obj["[object Object]"] = 'hi'
console.log (obj["[object Object]"]) 

关于JavaScript 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39163957/

相关文章:

javascript - Angularjs - ng-repeat 不适用于单个数组?

javascript - 如何用jquery触发RaphaelJS Element.click()?

javascript - 在 Node.JS 中向客户端发送通知

javascript - 如果选中输入类型复选框,则创建和删除输入类型文本

javascript - 合并更新两个独立 DIV 的 2 个 jquery 函数

javascript - 我无法遍历我的 JSON 并获取我的数据

php - JSON 和 PHP 数组

javascript - 将对象内容数组分配给新数组

java - 困惑,为什么 Object[] objs(objs[i] 的类型是 int[])不能转换为 int[][]

c# - 是否可以从 C# 中的对象修改或删除匿名类型?