新人日誌11

Javascriptでカンマ区切りの文字列を配列にし、

abc順に並び替えて再度カンマ区切りの文字列にしてみました。

//元になる文字列データ
var data = "strawberry,banana,tomato,apple";

並び替える前のデータは、このabc順でバラバラなカンマ区切りの文字列です。

このデータをカンマごとに分割した文字列の配列にします。

そのためにsplit()メソッドを使います。引数に’,’を渡し、カンマごとに分割します。

//配列化
var dataArray = data.split(',');

これで変数dataArrayの中に分割された後の文字列の配列が入りました。

ログに出して確認してみます。

for (let i = 0; i < dataArray.length; i++) {
  console.log((i + 1) + '番目のフルーツは :' + dataArray[i] + "です。");
}

この配列をabc順に並び替えます。

そのために、sortメソッドを使用します。

//abc順に並び替え
dataArray.sort(function (a, b) {
    //小文字に揃えて比較
    a = a.toString().toLowerCase();
    b = b.toString().toLowerCase();
    if (b > a) {
        return -1;
    } else {
        return 1;
    }
    return 0;
 });

Sortメソッドの引数の無名関数は各要素を比較するための処理です。

再度配列の内容を表示してみます。

for (let i = 0; i < dataArray.length; i++) {
     console.log((i + 1) + '番目のフルーツは :' + dataArray[i] + " です。");
}

最後にカンマ区切りの文字列データに戻します。

配列を特定の区切り文字で文字列化するために.join()メソッドを使います。

引数は区切り文字です。

data = dataArray.join(',');

この文字列の並び替え処理は多くの 場面で使いそうです。

水曜担当:Tanaka



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム