识别当前 for of 循环迭代 Typescript 中的下一项

Geo*_*rds 3 javascript iterator for-loop typescript

在我的 TypeScript 项目中,我想将 Array 中的值与下一个值进行比较。如果我在 JavaScript 中这样做,我会做这样的事情:

//JS
for (var i = 0; i < codeBlocks.length; i++) {
    var j = i + 1;
    if (codeBlocks[i] > codeBlocks[j]) {return true;}
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是,我真的很喜欢 Typescript for of 语法,因为它更具可读性。

//TS
for (let codeBlock of codeBlocks) {
    //logic
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在 for...of 循环的打字稿中描述“下一次迭代”值?

Man*_*wal 5

您可以使用 entries()

for (var [index, codeBlock] of codeBlocks.entries()) 
{ 
  // your code you can use index 
}
Run Code Online (Sandbox Code Playgroud)

演示

示例片段:

var test = ['a','b','c']
for (var [index, cur] of test.entries()) 
{ 
  var j = index + 1;
  console.log("Current value: "+cur+"  Next value: "+test[j])
}
Run Code Online (Sandbox Code Playgroud)