如何 know/get 地图中的最后一个或第一个键?
How do I know/get the last or first key in a map?
我有一个 mixin,我在其中循环映射。我的一些实用程序不适用于地图中的第一个或最后一个键。
有时,我可能会向地图添加新键。我可以使用 @if="sm-2"
直接检查键的值,但我不想也修改所有“for/each 循环”。
如何 know/get 映射中的最后一个或第一个键?
@mixin utility_generator {
@each $bp in map-keys($map) {
/////////////////////////////////
// @if not last_key/first_key {
@include utility($bp) {
@content
}
////////////////////////////
}
}
我正在阅读一篇关于如何在 sass 循环中提取索引号的非常有趣的文章:https://shayhowe.com/finding-index-position-sass-map-loop/。因此,使用该技术,我预想了您的问题以找到适合您的解决方案。但是,好吧,你必须修改你的循环,而且我知道,你说过“不不不不不不不...”。好的,但也许“他不知道这个解决方案,它可能对他有用”,我想...
因此,仅将此作为一种可能的方法:对于正确的解决方案,我们必须等待 Sass 大师 ;)
https://www.sassmeister.com/gist/36ae50657779d40d5537e46f2ad03438
$myList: (
"key-1": "value-a",
"key-2": "value-b",
"key-3": "value-c",
"key-4": "value-d",
"key-5": "value-e",
"key-6": "value-f"
);
@mixin utility_generator {
@each $key, $value in $myList {
$var : index(($myList), ($key $value)) !global;
$myKey : $key !global;
$myValue : $value !global;
@if $var !=1 and $var != length($myList){
@content
}
}
}
我有一个 mixin,我在其中循环映射。我的一些实用程序不适用于地图中的第一个或最后一个键。
有时,我可能会向地图添加新键。我可以使用 @if="sm-2"
直接检查键的值,但我不想也修改所有“for/each 循环”。
如何 know/get 映射中的最后一个或第一个键?
@mixin utility_generator {
@each $bp in map-keys($map) {
/////////////////////////////////
// @if not last_key/first_key {
@include utility($bp) {
@content
}
////////////////////////////
}
}
我正在阅读一篇关于如何在 sass 循环中提取索引号的非常有趣的文章:https://shayhowe.com/finding-index-position-sass-map-loop/。因此,使用该技术,我预想了您的问题以找到适合您的解决方案。但是,好吧,你必须修改你的循环,而且我知道,你说过“不不不不不不不...”。好的,但也许“他不知道这个解决方案,它可能对他有用”,我想...
因此,仅将此作为一种可能的方法:对于正确的解决方案,我们必须等待 Sass 大师 ;)
https://www.sassmeister.com/gist/36ae50657779d40d5537e46f2ad03438
$myList: (
"key-1": "value-a",
"key-2": "value-b",
"key-3": "value-c",
"key-4": "value-d",
"key-5": "value-e",
"key-6": "value-f"
);
@mixin utility_generator {
@each $key, $value in $myList {
$var : index(($myList), ($key $value)) !global;
$myKey : $key !global;
$myValue : $value !global;
@if $var !=1 and $var != length($myList){
@content
}
}
}