【问题标题】:Print out sass keys from a map从地图中打印出 sass 键
【发布时间】:2020-01-11 19:46:51
【问题描述】:

类似于this older answer,我想转储地图中可能使用的值。

在 dart-sass 中是否有一种巧妙的方法可以只转储 map 的键?

@function map-keys($map) {
  $keys: ();

  @each $key, $_ in $map {
    $keys: append($keys, $key);
  }

  @return $keys;
}

【问题讨论】:

    标签: function sass


    【解决方案1】:

    append 函数返回一个new 列表,因此对于每次循环迭代,您都需要重新分配$keys 的值。您可以使用@debug 将列表的值转储到控制台。

    SCSS:

    @function map-keys($map) {
      $keys: ();
    
      @each $key, $_ in $map {
        // Add key to list of keys
        $keys: append($keys, $key);
      }
    
      @return $keys;
    }
    
    $colors: (
      "red": #f00,
      "green": #0f0,
      "blue": #00f
    );
    
    $color-keys: map-keys($colors);
    
    // Log color keys
    @debug $color-keys;
    

    控制台输出:

    "red" "green" "blue"
    

    【讨论】:

    • 嘿,感谢您指出该逻辑错误。但它看起来仍然没有内置的糖。
    【解决方案2】:

    事实上,地图键周围有一个内置函数。

    https://sass-lang.com/documentation/functions/map#map-keys

    如果给定一个 sass 映射,map-keys 返回一个键列表。

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 2013-11-14
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多