お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

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