我是 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?
}