sass:map
- Dart Sass
- 1.23.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
💡 豆知識
Sassライブラリとデザインシステムは、ネストされたマップ(マップを含むマップを含むマップ)として表現される設定を共有およびオーバーライドする傾向があります。
ネストされたマップの操作を容易にするために、一部のマップ関数は深い操作をサポートしています。たとえば、map.get()
に複数のキーを渡すと、それらのキーに従って目的のネストされたマップが検索されます。
map.deep-merge($map1, $map2) //=> map
- Dart Sass
- 1.27.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
map.merge()
と同じですが、ネストされたマップの値も再帰的にマージされます。
map.deep-remove($map, $key, $keys...) //=> map
- Dart Sass
- 1.27.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
$keys
が空の場合、$key
に関連付けられた値のない$map
のコピーを返します。
$keys
が空でない場合、左から右へ、$key
を含み、$keys
の最後のキーを除くキーのセットに従って、更新対象のネストされたマップを見つけます。
対象のマップに$keys
の最後のキーに関連付けられた値がない$map
のコピーを返します。
map.get($map, $key, $keys...)
map-get($map, $key, $keys...)
$keys
が空の場合、$map
内の$key
に関連付けられた値を返します。
$map
に$key
に関連付けられた値がない場合、null
を返します。
- Dart Sass
- 1.27.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
$keys
が空でない場合、左から右へ、$key
を含み、$keys
の最後のキーを除くキーのセットに従って、検索対象のネストされたマップを見つけます。
対象のマップ内の$keys
の最後のキーに関連付けられた値を返します。
マップにキーに関連付けられた値がない場合、または$keys
のいずれかのキーがマップに存在しないか、マップではない値を参照している場合、null
を返します。
map.has-key($map, $key, $keys...)
map-has-key($map, $key, $keys...) //=> boolean
$keys
が空の場合、$map
に$key
に関連付けられた値が含まれているかどうかを返します。
- Dart Sass
- 1.27.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
$keys
が空でない場合、左から右へ、$key
を含み、$keys
の最後のキーを除くキーのセットに従って、検索対象のネストされたマップを見つけます。
対象のマップに$keys
の最後のキーに関連付けられた値が含まれている場合、trueを返します。
含まれていない場合、または$keys
のいずれかのキーがマップに存在しないか、マップではない値を参照している場合、falseを返します。
map.keys($map)
map-keys($map) //=> list
$map
内のすべてのキーのカンマ区切りリストを返します。
map.merge($map1, $map2)
map-merge($map1, $map2)
map.merge($map1, $keys..., $map2)
map-merge($map1, $keys..., $map2) //=> map
⚠️ 注意!
実際には、map.merge($map1, $keys..., $map2)
への実際の引数はmap.merge($map1, $args...)
として渡されます。説明のためにのみ、ここでは$map1, $keys..., $map2
として記述されています。
$keys
が渡されない場合、$map1
と$map2
の両方のすべてのキーと値を持つ新しいマップを返します。
$map1
と$map2
の両方に同じキーがある場合、$map2
の値が優先されます。
返されたマップ内の$map1
にも出現するすべてのキーは、$map1
と同じ順序になります。 $map2
からの新しいキーはマップの最後に表示されます。
- Dart Sass
- 1.27.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
$keys
が空でない場合、$keys
に従って、マージ対象のネストされたマップを見つけます。 $keys
のいずれかのキーがマップに存在しないか、マップではない値を参照している場合、そのキーの値を空のマップに設定します。
対象のマップが、対象のマップと$map2
の両方のすべてのキーと値を含む新しいマップに置き換えられた$map1
のコピーを返します。
map.remove($map, $keys...)
map-remove($map, $keys...) //=> map
$keys
に関連付けられた値のない$map
のコピーを返します。
$keys
のキーに$map
に関連付けられた値がない場合、無視されます。
map.set($map, $key, $value)
map.set($map, $keys..., $key, $value) //=> map
⚠️ 注意!
実際には、map.set($map, $keys..., $key, $value)
への実際の引数はmap.set($map, $args...)
として渡されます。説明のためにのみ、ここでは$map, $keys..., $key, $value
として記述されています。
$keys
が渡されない場合、$key
の値が$value
に設定された$map
のコピーを返します。
- Dart Sass
- 1.27.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
$keys
が渡された場合、$keys
に従って、更新対象のネストされたマップを見つけます。 $keys
のいずれかのキーがマップに存在しないか、マップではない値を参照している場合、そのキーの値を空のマップに設定します。
対象のマップの$key
の値が$value
に設定された$map
のコピーを返します。
map.values($map)
map-values($map) //=> list
$map
内のすべての値のカンマ区切りリストを返します。