【发布时间】:2016-04-28 04:02:18
【问题描述】:
我有一个对象,我正在使用 JQuery 的 each 函数进行迭代。但是,当我尝试使用 length 属性时,this stack overflow post 中发布的解决方案不起作用。当我尝试获取长度属性值时,我在控制台中得到了 undefined,我相信这是因为我正在迭代一个对象而不是一个数组。
我的代码:
$.each(attributes, function(key, value) {
attrKey = key;
attrVal = value;
console.log(attributes.length); //returns undefined
//do something if it is the last element
});
【问题讨论】:
-
对象没有长度属性...这就是你得到未定义的原因,试试
Object.keys(attributes).length -
你应该使用 Javascripts native
for...in,jQuery 对于这样的东西有点矫枉过正 -
是的,这就是为什么我不知道如何检查它是否是最后一个元素,因为其他帖子使用长度来检查它是否是最后一个元素。由于长度在这种情况下不起作用,如何检查最后一次迭代?
-
告诉我们
attributes是什么,你可以在控制台登录:console.log(typeof attributes, attributes); -
查看这篇文章以获取获取对象属性数量的替代方法:stackoverflow.com/questions/126100/…
标签: javascript jquery