我有一個如下數字串列 -
List contacts = [14169877890, 17781231234, 14161231234];
現在我想查找上述串列元素之一是否包含以下字串值 -
String value = '4169877890';
我使用 list.any 進行搜索,但 if 條件中的以下列印陳述句沒有列印任何內容。
if (contacts.any((e) => e.contains(value))) {
print(contacts[0]);
}
我希望它列印出聯系人串列的第一個元素,因為它部分包含字串值。
我在這里做錯了什么?
uj5u.com熱心網友回復:
不確定聯系人是否是整數,值是故意還是錯誤的字串,但是如果將其轉換為字串,這在飛鏢墊中有效:
if (contacts.any((e) => e.toString().contains(value))) {
print(contacts[0]);
}
DartPad 鏈接。
uj5u.com熱心網友回復:
contacts不是 a List<String>,因此您的任何搜索都不正確,您需要將元素contracts轉換為字串才能使用contains.
void main() {
var contacts = [14169877890, 17781231234, 14161231234];
print(contacts.runtimeType);
var value = '4169877890';
print(value.runtimeType);
var haveAnyValid = contacts.any((element) {
return "$element".contains(value);
});
print(haveAnyValid);
// result
// JSArray<int>
// String
// true
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/465289.html
上一篇:在Djangorest框架中出現特定例外的情況下如何更改回應中收到的狀態碼
下一篇:在字符陣列之后獲取字串
