如你所见,我有一份清单:
List avatarList = [
AssetsResources.VIP1,
AssetsResources.VIP2,
AssetsResources.VIP3,
AssetsResources.VIP4,
AssetsResources.VIP5,
AssetsResources.w1,
AssetsResources.w2,
];我知道我可以用方法:
final bool isVIP = avatarList[index].contains('VIP');但是由于AssetsResources.VIP1不是像'VIP1'那样的字符串,而是来自其他省道文件的路径,所以这里我不知道如何检查来自avatarList的元素是否包含VIP值,谢谢您的任何提示!
更新
谢谢大家的帮助,对不起我没有说清楚,我的意思是,如果
List idealList = [
'vip1',
'vip2',
'vip3',
'vip4',
'vip5',
];因此,idealList中的元素是'vip1',但在我的示例中,列表myList是
List myList = [
AssetsResources.VIP1,
AssetsResources.VIP2,
AssetsResources.VIP3,
AssetsResources.VIP4,
AssetsResources.VIP5,
AssetsResources.w1,
AssetsResources.w2,
];因此,我似乎不能像下面这样直接使用某种方法
final bool isVIP = myList[index].contains('VIP');由于来自myList的元素只是一条路径(对不起,我不知道如何调用这个值),在我的例子中,您能告诉我如何检查这个路径是否包含'VIP'值吗?谢谢!
更新是的,AssetsResources非常简单,只需存储资产路径:
class AssetsResources {
/*worm avatar*/
static const String VIP1 = 'assets/worms/VIP_1.svg';
static const String VIP2 = 'assets/worms/VIP_2.svg';
static const String VIP3 = 'assets/worms/VIP_3.svg';
static const String VIP4 = 'assets/worms/VIP_4.svg';
}发布于 2022-04-14 15:29:11
代码应该工作得很好:
class AssetsResources {
/*worm avatar*/
static const String VIP1 = 'assets/worms/VIP_1.svg';
static const String VIP2 = 'assets/worms/VIP_2.svg';
static const String VIP3 = 'assets/worms/VIP_3.svg';
static const String VIP4 = 'assets/worms/VIP_4.svg';
}
void main() {
List myList = [
AssetsResources.VIP1,
AssetsResources.VIP2,
AssetsResources.VIP3,
AssetsResources.VIP4,
];
for (final asset in myList) {
print(asset);
print(asset.contains('VIP'));
}
}上述指纹:
assets/worms/VIP_1.svg
true
assets/worms/VIP_2.svg
true
assets/worms/VIP_3.svg
true
assets/worms/VIP_4.svg
true发布于 2022-04-14 10:39:40
如果我没听错的话。
void main() {
for(var i = 0; i < avatarList.length; i++) {
String element = avatarList[i];
if(element.contains('VIP')) {
print(other.contains(element)); // true
print(other.firstWhere((e) => e.contains(element))); // 'VIP1', 'VIP2', 'VIP3', 'VIP4', 'VIP5'
}
}
}
List<String> avatarList = ['VIP1', 'VIP2', 'VIP3', 'VIP4', 'VIP5', 'w1', 'w2'];
List<String> other = ['VIP1', 'VIP2', 'VIP3', 'VIP4', 'VIP5', 'w1', 'w2'];https://stackoverflow.com/questions/71869082
复制相似问题