我真的很困惑如何在有很多重復單詞的陣列中找到 item 的索引。
List<String> _words = "the quick brown fox jumps over the lazy dog".split(" ");
現在我想以編程方式獲取單詞“ the ”中的所有索引。
我期待結果
List indexOfWords = _words.indexOfAll("the");
print(indexOfWords);
// [0, 6]
uj5u.com熱心網友回復:
您可以定義indexOfAll為擴展方法。我會像這樣實作它:
extension ListExtension<T> on List<T> {
List<int> indexOfAll(T item) => [
for (int i = 0; i < length; i )
if (this[i] == item) i,
];
}
uj5u.com熱心網友回復:
您可以創建擴展方法。像這樣:
extension Occurrences on List {
List<int> indexOfAll(String pattern) {
List<int> indexes = [];
for (int i = 0; i < this.length; i ) {
if (this[i] == pattern) {
indexes.add(i);
}
}
return indexes;
}
}
然后您可以將其用作串列中的功能
print(_words.indexOfAll("the")); // [0, 6]
uj5u.com熱心網友回復:
不知道這個作業有沒有直接的解決辦法。為了解決這個問題,我開發了一個名為的函式GetIndexes(),它運行成功。
此示例將以下輸出列印到控制臺:
[the, quick, brown, fox, jumps, over, the, lazy, dog]
[3, 9, 15, 19, 25, 30, 34, 39]
我開發的解決方案如下:
void main()
{
String text = "the quick brown fox jumps over the lazy dog";
var split = ' ';
List<int> indexes = [];
List<String> words;
words = text.split(split);
GetIndexes(text, split, indexes);
print(words);
print(indexes);
}
void GetIndexes(String text, var split, List<int> indexes)
{
int index = 0;
for(int i=0 ; i<text.length; i)
{
if(text[i] == split)
{
indexes.insert(index, i);
index;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398613.html
標籤:镖
上一篇:當容器行位于包裝的擴展列內時,出現Flutter錯誤“RenderAspectRatio具有無限約束”
下一篇:如何訪問FlutterWidget中的“索引”屬性:minhhung2556/Romantic_project_flutter_horizo??ntal_featured_list?
