我正在尝试检查状况
if (value in List) {
exist
} else {
not exist
}
但无济于事,请分享。
My List = _quantityController[];
itemId是整数
我想检查我的商品ID是否在我的列表数组中...谢谢!
答案 0 :(得分:14)
<!--script src="jquery-3.2.1.js" type="text/javascript"></script>
<script src="popper.js" type="text/javascript"></script>
<script src="bootstrap.js" type="text/javascript"></script-->
答案 1 :(得分:8)
以上是当前问题的正确答案。但是,如果像我这样的人在这里检查Class对象列表中的值,那么答案就在这里。
class DownloadedFile {
String Url;
String location;
}
DownloadedFile列表
List<DownloadedFile> listOfDownloadedFile = List();
listOfDownloadedFile.add(...);
现在检查特定值是否在此列表内
var contain = listOfDownloadedFile.where((element) => element.Url == "your URL link");
if (contain.isEmpty)
//value not exists
else
//value exists
也许有更好的方法/方法。如果有人知道,那就告诉我。 :)
答案 2 :(得分:3)
答案 3 :(得分:2)
这是一个完整的例子
void main() {
List<String> fruits = <String>['Apple', 'Banana', 'Mango'];
bool isPresent(String fruitName) {
return fruits.contains(fruitName);
}
print(isPresent('Apple')); // true
print(isPresent('Orange')); // false
}
答案 4 :(得分:2)
检查类对象数组
比 Abdullah Khan 的方法更好的是使用 any 而不是 where,因为 where 可以完全扫描阵列。当它找到一个时,任何停止。
class DownloadedFile {
String Url;
String location;
}
List<DownloadedFile> files = [];
bool exists = files.any((file) => file.Url == "<some_url>");
答案 5 :(得分:1)
这是我的情况 我有一个这样的清单 我在列表中寻找特定的 UUID
// UUID that I am looking for
String lookingForUUID = "111111-9084-4869-b9ac-b28f705ea53b"
// my list of comments
"comments": [
{
"uuid": "111111-9084-4869-b9ac-b28f705ea53b",
"comment": "comment"
},
{
"uuid": "222222-9084-4869-b9ac-b28f705ea53b",
"comment": "like"
}
]
这就是我在列表中迭代的方式
// This is how I iterate
var contain = someDataModel.comments.where((element) => element['uuid'] == lookingForUUID);
if (contain.isEmpty){
_isILike = false;
} else {
_isILike = true;
}
这样我就得到了lookingForUUID
希望对某人有所帮助
答案 6 :(得分:0)
对我有用,这是我的代码:
List<int> _itemController = [16,18];
int itemId = 16;
if(_itemController.contains(itemId)){
print("True")
}else{
print("false");
}
答案 7 :(得分:0)
答案 8 :(得分:0)
其他答案未提及的解决方案:indexOf
。
List<int> values = [2, 3, 4, 5, 6, 7];
print(values.indexOf(5) >= 0); // true, 5 is in values
print(values.indexOf(1) >= 0); // false, 1 is not in values
它还允许您搜索索引。使用 contains
,可以这样做:
print(values.sublist(3).contains(6)); // true, 6 is after index 3 in values
print(values.sublist(3).contains(2)); // false, 2 is not after index 3 in values
使用indexOf
:
print(values.indexOf(6, 3) >= 0); // true, 6 is after index 3 in values
print(values.indexOf(2, 3) >= 0); // false, 2 is not after index 3 in values