お!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
*/