【问题标题】:Can not complete codewar task: "Which color is the brightest?"无法完成代码战任务:“哪个颜色最亮?”
【发布时间】:2022-09-29 19:06:30
【问题描述】:

任务描述:

表示颜色的常用方法之一是 RGB 颜色模型,其中以各种方式将光的红、绿和蓝三原色相加,以再现广泛的颜色。

确定颜色亮度的方法之一是找到替代 HSV(色相、饱和度、值)颜色模型的值 V。值被定义为颜色的最大分量:

V = 最大值(R,G,B) 您将获得一个以 6 位十六进制表示法#RRGGBB 表示的颜色列表。返回这些颜色中最亮的!

例如,

最亮的([\"#001000\", \"#000000\"]) == \"#001000\" 最亮的([\"#ABCDEF\", \"#123456\"]) == \"#ABCDEF\" 如果有多个最亮的颜色,则返回第一个:

最亮的([\"#00FF00\", \"#FFFF00\", \"#01130F\"]) == \"#00FF00\" 请注意,对于字符 A、B、C、D、E、F,输入和输出都应使用大写。

我的解决方案:

function brightest(colors){
  let colorIndex = 0,
      maxValue = 0
  for (let i = 0; i < colors.lenght; i++) {
    let color = colors[i],
        r = ParseInt(color.slise(1,3), 16),
        g = ParseInt(color.slise(3,5), 16),
        b = ParseInt(color.slise(5,7), 16),
        value = Math.max(r,g,b)
    if (value > maxValue) {
      maxValue = value
      colorIndex = i
    }  
  }
  return colors [colorIndex]
}

结果:

测试失败,颜色 = #CAA365,#1861D3,#E8E2C6,#3D3548,#F19BBF,#BF12C3: 预期 \'#CAA365\' 深度等于 \'#F19BBF\'

怎么了?我该如何解决这个问题?

  • 首先修复明显的语法错误(ParseIntslise 等)
  • 请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example

标签: javascript string numbers


【解决方案1】:

声明一个变量
值 = Math.max(r,g,b)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    相关资源
    最近更新 更多