我是 javascript 的新手,所以如果它很明显,请原谅。
假设我有一个 for-in 循环,如下所示......
for( var key in myObj ){
   alert("key :" + myObj[key] ); // accessing current key-value pair
   //how do I access previous element here?
}
是否可以在 for-in 循环中访问上一个或下一个键/值对?
我是 javascript 的新手,所以如果它很明显,请原谅。
假设我有一个 for-in 循环,如下所示......
for( var key in myObj ){
   alert("key :" + myObj[key] ); // accessing current key-value pair
   //how do I access previous element here?
}
是否可以在 for-in 循环中访问上一个或下一个键/值对?
不,没有直接的方法。一种解决方法是使用for循环keys而不是for..in通过数字索引选择元素:
 keys = Object.keys(myObj);
 for(var i = 0; i < keys.length; i++) {
     current = keys[i];
     previous = keys[i - 1];
     next = keys[i + 1];
     ...
  }
var lastobj = '';
for( var key in myObj ){
   alert("key :" + myObj[key] ); // accessing current key-value pair
   if(lastobj) {
        //do things with last object here using lastobjs
   }
lastobj = myObj[key]
}
为 lastobj last in 循环提供一个新值,您将在循环期间拥有“内存中”的值。该if语句主要是因为第一次循环运行,当时 lastobj 还为空。
你不能在循环结束时说:
previousKey = key
那么你可以在下一个循环中使用 previousKey 吗?这是我在自己的小脚本中做的事情,我并不擅长编写脚本,但到目前为止这对我有用。
试试喜欢
var prev = '';
for( var key in myObj ){
   alert("key :" + myObj[key] ); // accessing current key-value pair
   if(prev)
      alert('Prev key :'+prev);
   prev = myobj[key];
   //how do I access previous element here?
}