检查JQuery中每个函数的最后一个元素

时间:2016-04-27 19:40:01

标签: javascript jquery

我有一个对象,我正在使用JQuery的每个函数进行迭代。但是,当我尝试使用length属性时,this stack overflow post中发布的解决方案不起作用。当我尝试获取一个长度属性值时,我在控制台中未定义,我相信这是因为我正在迭代一个对象而不是一个数组。

我的代码:

$.each(attributes, function(key, value) {
        attrKey = key;
        attrVal = value;
        console.log(attributes.length); //returns undefined
       //do something if it is the last element
 });

3 个答案:

答案 0 :(得分:2)

请尝试简单Javascript

for (var key in attributes) {
  var value = attributes[key];
  // process key,value...
}

编辑:

如果您尝试获取object中的最后一个键/值,则不能。 Javascript对象是无序的,这意味着它们不会跟踪何时进行其他键/值分配。如果订单很重要,我建议您更改attributesarray个对象,其中每个对象都是单个键/值,或者使用第三方库,例如https://github.com/trentrichardson/Ordering

如果您想获得attributes中的密钥数量,请使用Object.keys

Object.keys(attributes).length

答案 1 :(得分:1)

尝试

var index = 1;
$.each(attributes, function(key, value) {
    if(Object.keys(attributes).length == index)
    { 
         // Do something
    }
    index++;
});

答案 2 :(得分:0)

per @PaulFrench的评论:

length = Object.keys(attributes).length; 
if(n < length) {
         //do something
}