字符串比较在 d3.rgb 中不起作用

string compare not working in d3.rgb

使用 RGB 颜色绘制 d3js 桑基图中的节点。 我需要通过比较 d3.rgb 函数的 return 值不等于“#ff”来避免红色阴影:这是我的代码,请告诉我出了什么问题。生成异常说 str.substring(3,0) not a function

    var str = d3.rgb(d.color).darker(2);
    res = str.substring(3,0)
    while ( res == "#ff")
    {
      console.log("in while");
      str = d3.rgb(d.color).darker(2);
    }
    return str;
var str = d3.rgb(d.color).darker(2);
    res = str.substring(3,0)
    while ( res == "#ff")
    {
      console.log("in while");
      str = d3.rgb(d.color).darker(2);
      res = str.substring(3,0)
    }
    return str;

您没有更新 res,试试这个?