お!MAPやんけ!操作したろ!グチャー
MAP系関数
連想配列/JSのオブジェクトのようなMAP
それを触れる関数デス
map-get($map, $key)
第二引数に投入したキー名の内容を戻します。
存在しない場合はfalseが返ります。
.example { property: length(10px auto); property: length(15px); property: length(1px solid white); } /* .example { property: 2; property: 1; property: 3; } */
map-merge($map1, $map2)
2つのマップを連結することができます。
.map-merge { $map1: ( key1: value1, key2: value2, key3: value3); $map2: ( key4: value4, key5: value5); $new-map: map-merge($map1, $map2); &:before { content: "#{map-get($new-map, key4)}"; // value5 } } /* .map-merge:before { content: "value4"; } */
map-remove($map, $keys...)
指定キーの要素を削除します。
指定キー名は複数指定可能です。
$map:("foo": 1, "bar": 2, "baz": 3); $remove: map-remove($map, "bar","baz"); @debug $remove; /* DEBUG: ("foo": 1) */
map-keys($map)
マップの全てのキー名を返します。
$map:("foo": 1, "bar": 2, "baz": 3); @debug map-keys($map); /* DEBUG: "foo", "bar", "baz" */
map-values($map)
マップの全ての値名を返します。
$map:("foo": 1, "bar": 2, "baz": 3); @debug map-values($map); /* DEBUG: 1, 2, 3 */
map-has-key($map, $key)
指定したキーが含まれているかチェックします。
bool型での戻り値となります。
$map:("foo": 1, "bar": 2, "baz": 3); @debug map-has-key($map,'foo'); // true @debug map-has-key($map,'wwww'); // false /* DEBUG: true DEBUG: false */
keywords($args...)
可変引数を取る関数に渡されるキーワードを返す。
かいつまんで言うと、これは関数の中で使用する関数なのです。
名前付きで渡された可変引数をmap型に変換し戻します。
@mixin foo($args...) { $map: keywords($args); //=> (arg1: val, arg2: val,sss:3) @debug map-get($map, 'sss'); // 3 } @include foo($arg1: val, $arg2: val,$sss:3);// 名前と値を指定する /* DEBUG: 3 */