Scssで便利なマップ(連想配列)の使い方を初心者でもわかりやすく解説します。
マップは、CSSプロパティのセットを保持するために使用されるオブジェクトです。
マップの作成方法
マップを作成するには、以下のようにmap
関数を使用します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
ここで、key1
、key2
、key3
は、マップのキーであり、value1
、value2
、value3
は、それぞれのキーに対応する値です。キーは文字列でなければならないことに注意してください。また、値は任意のデータ型であることができます。
マップの値の取得方法
マップの値を取得するには、以下のようにmap-get
関数を使用します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$value: map-get($map, key1);
この例では、$value
にはvalue1
が代入されます。
指定したキーの削除
マップ内の指定したキーに対応するエントリーを削除するには、map-remove
関数を使用します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$map: map-remove($map, key1); // key1に対応するエントリーが削除されたマップが作成される
第一引数にマップを、第二引数に削除したいキーを指定します。なお、map-remove
関数は新しいマップを返すだけで、引数のマップ自体は変更しません。
マップのキーと値をループで処理する方法
マップのキーと値をループで処理するには、以下のように@each
ディレクティブを使用します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
@each $key, $value in $map {
// ループで処理したいコード
}
この例では、$key
にはkey1
、key2
、key3
が代入され、$value
にはそれぞれvalue1
、value2
、value3
が代入されます。
マップの値を更新する方法
マップの値を更新するには、以下のようにmap-merge
関数を使用します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$map: map-merge($map, (key1: new_value1));
この例では、key1
に対応する値がnew_value1
に更新されたマップが作成されます。
マップのキーを変更する方法
マップのキーを変更するには、以下のようにmap-remove
関数とmap-merge
関数を組み合わせて使用します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$map: map-merge(map-remove($map, key1), (new_key: map-get($map, key1)));
この例では、まずmap-remove
関数でkey1
に対応するエントリーをマップから削除します。そして、map-merge
関数で新しいキーと値のエントリーを追加します。このとき、新しいキーにはnew_key
を指定し、値には変更前のkey1
に対応する値を指定します。これにより、key1
に対応する値がnew_key
に変更されたマップが作成されます。
マップにキーが存在するか判定
マップに、指定したキーが存在するかどうかを判定するには、map-has-key
関数を使用します。引数にマップとキーを指定します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$is-exist: map-has-key($map, key1); // trueが返される
マップのキーをすべて取得
マップのすべてのキーを取得するには、map-keys
関数を使用します。引数にマップを指定します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$keys: map-keys($map); // (key1, key2, key3)が返される
マップの値をすべて取得
マップのすべての値を取得するには、map-values
関数を使用します。引数にマップを指定します。
$map: (
key1: value1,
key2: value2,
key3: value3
);
$values: map-values($map); // (value1, value2, value3)が返される
リスキリングでキャリアアップしてみませんか?
リスキリング(学び直し)は、経済産業省が推奨しており、
今だけ、最大70%のキャッシュバックを受けることができます。
最大70%の給付金が出るおすすめのプログラミングスクール!
国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!
興味のある方はすぐに確認しましょう。
まとめ
SCSSのマップは、キーと値を関連付けることができる非常に便利な機能です。使い方をマスターして、コーディングの効率化に役立てましょう。また、マップの利用に際しては、できるだけ名前をわかりやすくするなど、可読性の向上にも配慮しましょう。
コメント