0Pricing
Dart Academy · レッスン

リストの検索と並べ替え

find、contains、indexOf、sort

「リストの検索と並べ替え」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

項目を検索する

リストには、項目が存在するか、どの位置にあるかなど、中身についてすばやく確認する方法があります。検索について見ていきましょう。🔍

含まれているか確認する

containsメソッドはtrueまたはfalseを返し、指定した値がリスト内のどこかに存在するかを示します。

var pets = ['cat', 'dog'];
print(pets.contains('dog')); // true

どこにあるか調べる

indexOfを使うと、項目の位置を調べられます。最初に一致したインデックスを返し、値が見つからない場合は-1を返します。

print(pets.indexOf('dog')); // 1

見つからない場合はマイナス1

indexOfで値が見つからない場合は、-1が返されます。-1かどうかを確認するだけで、存在しない項目を簡単に処理できます。

print(pets.indexOf('fish')); // -1

条件に合う最初の項目

firstWhereを使うと、条件を指定して検索できます。判定関数を通過した最初の項目を返します。

var nums = [3, 8, 5];
print(nums.firstWhere((n) => n > 4)); // 8

anyとevery

リスト全体についての質問もすばやく確認できます。anyは少なくとも1つの項目が一致するとtrueになり、everyはすべての項目が一致した場合にのみtrueになります。

print(nums.any((n) => n > 7)); // true

その場で並べ替える

sortメソッドは、デフォルトでは小さい順にリスト自体を並べ替えます。元のリストを変更し、何も返しません。

var scores = [3, 1, 2];
scores.sort();
print(scores); // [1, 2, 3]

文字列を並べ替える

テキストに対してsortを呼び出すと、デフォルトではアルファベット順に並び替えられます。左から右へ文字を比較します。

var names = ['Bea', 'Al', 'Cy'];
names.sort(); // [Al, Bea, Cy]

独自の並び順

比較関数を渡すと、独自のルールで並べ替えられます。aをbより前に置くには負の数を返し、順序を逆にするには正の数を返します。

scores.sort((a, b) => b - a); // descending

Listを逆順にする

reversedゲッターは、リストを逆順に見せるビューを返します。実際の逆順リストが必要な場合は、toListで囲んでください。

print(scores.reversed.toList());

lastIndexOf

重複する項目がある場合、lastIndexOfは最初ではなく、最後に一致した位置を見つけます。

var bits = [1, 0, 1];
print(bits.lastIndexOf(1)); // 2

確認問題

存在しない値に対してindexOfを呼び出しました。何が返されますか。

まとめ

これでリストの内容を調べたり順序を整えたりできるようになりました。contains、indexOf、firstWhere、any、every、そして独自のルールを使ったsortを活用できます。データ操作の幅が広がりました。📊

よくある質問

「リストの検索と並べ替え」レッスンは無料ですか?

はい。「リストの検索と並べ替え」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「リストの検索と並べ替え」で何を学びますか?

find、contains、indexOf、sort ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「リストの検索と並べ替え」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. リストの作成とインデックス指定
  2. 要素の追加、削除、更新
  3. リストの検索と並べ替え
  4. map、where、toListによる変換
← Dart Academyに戻る