gpt4 book ai didi

for-loop - Dart-在for循环中获取下一个元素

转载 作者:行者123 更新时间:2023-12-03 04:17:00 25 4
gpt4 key购买 nike

我正在使用此for循环:

for (var elem in sortedTokens){
if (elem.identifier == "ACCESSOR"){
//
}
else if (elem.identifier == "PROPERTY"){
// Check the identifier of the next element
}
}

如何访问其中的下一个元素?到目前为止,我一直在Dart中使用while循环和索引。正确的做法是什么?

谢谢

最佳答案

您可能要使用常规的for循环:

for (int i = 0; i < sortedTokens.length; i++){
var elem = sortedTokens[i];
if (elem.identifier == "ACCESSOR"){
//
}
else if (elem.identifier == "PROPERTY"){
if (i+1 < sortedTokens.length) {
var nextElem = sortedTokens[i+1];
// Check the identifier of the next element
}
}
}

但是,您可以将它更进一步,并包装该功能:
void forEach<T>(List<T> list, void action(T current, T next)) {
for (var i = 0; i < list.length; i++) {
T current = list[i];
T next = i+1 < list.length ? list[i+1] : null;
action(current, next);
}
}

forEach (sortedTokens, (elem, next) {
if (elem.identifier == "ACCESSOR"){
//
}
else if (elem.identifier == "PROPERTY"){
if (next != null) {
// Check the identifier of the next element
}
}
});

Working DartPad example

关于for-loop - Dart-在for循环中获取下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44278598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com