Sass基础——Map函数 Map Functions

2225 4 年前
Sass里所有Maps都是不可变的,因此所有map函数如果返回map类型的话都是返回一个新map,而不是对原先存在的进行修改。

map-get($map, $key)

map-get($map, $key): 返回一个map里与给定key关联的value值。

如果map里没有相应的key,返回null

map-get(("foo": 1, "bar": 2), "foo") => 1
map-get(("foo": 1, "bar": 2), "bar") => 2
map-get(("foo": 1, "bar": 2), "baz") => null

map-merge($map1, $map2)

map-merge($map1, $map2): 把两个map合并到一个新map里。

如果$map1$map2有同名的键,$map2的同名键优先,会覆盖$map1里同名的键值。

这是添加多个新值最好的办法。

返回的map里元素的顺序跟$map1一样,$map2里的新元素会添加到后面。

如果参数不是map类型将报错。

map-merge(("foo": 1), ("bar": 2)) => ("foo": 1, "bar": 2)
map-merge(("foo": 1, "bar": 2), ("bar": 3)) => ("foo": 1, "bar": 3)

map-remove($map, $keys…)

map-remove($map, $keys…): 返回一个删除手术室key后的新map

map-remove(("foo": 1, "bar": 2), "bar") => ("foo": 1)
map-remove(("foo": 1, "bar": 2, "baz": 3), "bar", "baz") => ("foo": 1)
map-remove(("foo": 1, "bar": 2), "baz") => ("foo": 1, "bar": 2)

map-keys($map)

map-keys($map): 返回一个map里所有key的列表,列表用逗号分隔。

如果参数不是map类型,会报错。

map-keys(("foo": 1, "bar": 2)) => "foo", "bar"

map-values($map)

map-values($map): 返回一个map里所有value值的列表,列表用逗号分隔。

如果参数不是map类型,会报错。

map-values(("foo": 1, "bar": 2)) => 1, 2
map-values(("foo": 1, "bar": 2, "baz": 1)) => 1, 2, 1

map-has-key($map, $key)

map-has-key($map, $key): 判断一个map里给定的key是否有一个关联的值,即判断key是否存在于这个map

map-has-key(("foo": 1, "bar": 2), "foo") => true
map-has-key(("foo": 1, "bar": 2), "baz") => false

keywords($args)

keywords($args): 在一个接受参数列表的函数或mixin里,返回传递给来的关键字。返回的参数名是字符串,且不包含前置的$

如果$args不是一个可变的参数列表,会报错

@mixin foo($args...) {
  @debug keywords($args); //=> (arg1: val, arg2: val)
}

@include foo($arg1: val, $arg2: val);
分类栏目
© 2018邮箱:11407215#qq.comGitHub沪ICP备12039518号-6