【发布时间】: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\'
怎么了?我该如何解决这个问题?
-
首先修复明显的语法错误(
ParseInt、slise等) -
请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。
标签: javascript string numbers