Flutter 再次在dart中遍历阵列
我有一个由5个元素组成的数组:-Flutter 再次在dart中遍历阵列,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,我有一个由5个元素组成的数组:- var a=[1,2,3,4,5]; 和一个变量,该变量将具有来自firebase的某个整数值。所以,我想要的是,当这个值小于数组的长度时,它应该在该索引处打印数组的值,即 int valueFromFireBase=3; print(a[valueFromFireBase]); //Result should be 4 当它大于数组的长度时,它应该再次遍历数组,即。 如果值为6,则应打印1 我尝试过的代码是:- int val=0;
var a=[1,2,3,4,5];
和一个变量,该变量将具有来自firebase的某个整数值。所以,我想要的是,当这个值小于数组的长度时,它应该在该索引处打印数组的值,即
int valueFromFireBase=3;
print(a[valueFromFireBase]);
//Result should be 4
当它大于数组的长度时,它应该再次遍历数组,即。
如果值为6,则应打印1
我尝试过的代码是:-
int val=0;
var a=[1,2,3,4,5,6];
int valueFromFireBase=7;
if(valueFromFireBase>=a.length)
{
int divident=valueFromFireBase%a.length;
valueFromFireBase-=divident;
val=a[valueFromFireBase];
}
else
{
val=a[valueFromFireBase];
}
print(val);
但当valueFromFireBase等于数组长度时,此代码不起作用。您需要使用模运算符:
val=a[valueFromFireBase%a.length];
请注意,数组索引是基于0的,因此如果valueFromFireBase==7
您将获得第8个元素
void main(){
最终a=[1,2,3,4,5,6];
Firebase的最终值=7;
int val=a[valueFromFireBase%a.length];
打印(val);
}
模文档:您需要使用模运算符:
val=a[valueFromFireBase%a.length];
请注意,数组索引是基于0的,因此如果valueFromFireBase==7
您将获得第8个元素
void main(){
最终a=[1,2,3,4,5,6];
Firebase的最终值=7;
int val=a[valueFromFireBase%a.length];
打印(val);
}
模文档:您可以这样做:
int val=0;
var a=[1,2,3,4,5,6];
int valueFromFireBase=7;
if(valueFromFireBase>=a.length)
{
val=a[valueFromFireBase % a.length];
}
else
{
val=a[valueFromFireBase];
}
print(val);
您可以这样做:
int val=0;
var a=[1,2,3,4,5,6];
int valueFromFireBase=7;
if(valueFromFireBase>=a.length)
{
val=a[valueFromFireBase % a.length];
}
else
{
val=a[valueFromFireBase];
}
print(val);
是否确定firebase值是否为
6
是否希望代码返回1
?在您的示例中,6将是2
,因为0
也是一个有效的索引值。您确定firebase值是否为6
是否希望代码返回1
?在您的示例中,6将是2
,因为0
也是一个有效的索引值。