如何使用无序索引迭代 JavaScript 中的对象
我正在创建一个播放列表系统,其中每首歌曲都有一个唯一的 ID。当您将歌曲添加到播放列表数组时,其索引将注册为其 ID。
通常,当循环 JavaScript 数组时,您会获取长度并通过索引进行计数。有没有办法循环遍历具有未使用索引的数组?这种做法出于某种原因是不好的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
for(var i in obj)
循环访问对象。请参阅上面的注释以了解此for
语句的含义。顺便说一句,您谈论的是对象,而不是数组:
可以通过这种方式模拟数组,因此可以使用
for(var i=0; i用过的。数组函数(例如
pop
)不能用于它们,除非您定义它:Use
for(var i in obj)
to loop through an object. See the comments above to understand the meaning of thisfor
-statement.You're talking about Objects, not arrays, by the way:
An array can be simulated in this way, so that a
for(var i=0; i<array_like.length; i++)
can be used. Array functions (such aspop
) cannot be used on them, unless you define it:您可以通过以下两种方式之一访问对象的属性。要么使用“.”例如:
或者通过括号表示法:
现在,这并不能真正回答您的问题。所以,这里有一些方法:
利用 jQuery 的每个函数:
利用 Javascript 的函数:
希望有帮助!
You can access the object's properties one of two ways. Either using a "." such as:
Or via bracket notation:
Now, that doesn't really answer your question. So, here are a few ways:
Utilize jQuery's each function:
Utilize the Javascript for function:
Hope that helps!
您还可以仅对每个属性值进行迭代:
但在这种情况下,您无法访问属性名称。
You can also do just
for each
to iterate over properties values only:But in this case, you are not able to access a property name.
假设您的数组采用以下形式:
您可以使用以下方法迭代这些值:
Assuming your array is in the form:
You can iterate over the values by using: