我有一个像这样的数组:

var bookCh = {'TOMSAWYER':[Twain,50],
'PARELANDRA':[Lewis,150],
'ROGUECODE':[Russinovich,23],
'WRINKLE':[Lengle,12]};


如果我在ROGUECODE上匹配了某个内容,我想将下一个键打印到控制台上(例如,如果我与ROGUECODE匹配,则打印WRINKLE)。这是我必须进行的匹配,但是我不知道如何打印数组中的下一个键而不是当前的键。如果它们是数字键,那显然很容易,但事实并非如此。

var currentBook = "ROGUECODE";

for (var bookKey in bookCh) {
 if (bookKey == currentBook) {
  console.log("Next book: " +  ???);
 }
}

最佳答案

像这样声明你的数组

var bookCh = [
  {
    'id': 'TOMSAWYER',
    'meta': [Twain, 50]
  },
  {
    'id': 'PARELANDRA',
    'meta': [Lewis, 150]
  },
  {
    'id': 'ROGUECODE',
    'meta': [Russinovich, 23]
  },
  {
    'id': 'WRINKLE',
    'meta': [Lengle, 12]
  }
]


现在,当您遍历它时

for(var i=0; i<bookCh.length-1; i++) {
 // bookCh[i+1] (this is next array item)
}

07-24 09:30