当我在jQuery应用程序中迭代javascript字典的键时,我得到的是数字而不是值

I get numbers instead of values when I iterate over the keys of my javascript dictionary in a jQuery app

本文关键字:数字 应用程序 jQuery 迭代 javascript 字典      更新时间:2023-09-26

当我迭代对象的键时,一个简单的jsfiddle所做的正是我所期望的。

但是,当我在index.html中编写类似的代码片段时,返回的是整数而不是键本身。

我很抱歉展示了实际的代码,但是我不明白为什么一个简单的测试会做我想要的,而"复杂"的情况不会…除非jQuery改变了什么?

这是因为对象。keys返回一个Array,一个键为integers的特殊对象。

Object.keys({a:0}) instanceof Array; // true

所以它不是for…

看起来json包含一个数组。如果要从数组创建一个"字典",那么键将是索引,因此它们将是数字。您仍然可以使用这些键来访问对象的元素,例如:

obj[key] = value;

其中obj为数组,key为索引。