如何在javascript中获取for(... in ...)循环的位置?

时间:2013-08-05 02:28:23

标签: javascript object for-loop iteration

使用for in循环遍历javascript对象时,如何在for循环中访问迭代器的位置?

a = {some: 1, thing: 2};

for (obj in a) {
    if (/* How can I access the first iteration*/) {
       // Do something different on the first iteration
    }
    else {
       // Do something
    }
}

2 个答案:

答案 0 :(得分:1)

Javascript对象的属性没有排序。 {some: 1, thing: 2}{thing: 2, some: 1}

相同

但是如果你想使用迭代器继续跟踪,请执行以下操作:

var i = 0;
for (obj in a) {
    if (i == 0) {
       // Do something different on the first iteration
    }
    else {
       // Do something
    }
    i ++;
}

答案 1 :(得分:1)

据我所知,没有天生的方法这样做,而且无法知道哪个是第一个项目,属性的顺序是任意的。如果有一些东西你只想做一次,那么,这非常简单,你只需要一个手动迭代器,但我不确定这是不是你要求的。

a = {some: 1, thing: 2};
var first = true;

for (obj in a) {
    if (first) {
       first = false;
       // Do something different on the first iteration
    }
    else {
       // Do something
    }
}