【发布时间】:2019-07-16 20:40:49
【问题描述】:
说明
编写一个以 2 种颜色为参数并返回平均颜色的函数。
- 参数将是两个 6 位十六进制字符串。这不需要验证。
- 返回值应为 6 位十六进制字符串。
- 十六进制字符串表示 RGB 中的颜色,与 CSS 中非常相似。
- 平均颜色是通过取每个分量的算术平均值来确定的:红色、绿色和蓝色。
代码
const avgColor = (str1, str2) => {
return (str1 + str2) / 2
}
问题
十六进制类似于0000ff 对吧?
当我需要为每个组件取算术平均值并列出 3 种颜色时,我不确定这意味着什么。你如何取字符串的平均值?
【问题讨论】:
-
您不会采用“平均字符串”。你解释每一对数字都有一个数字,然后做一个简单的数字平均。
-
十六进制值不是字符串,而是base-16 numeric value。
-
@Pointy 对不起,我不明白。
You interpret each pair of digits has a number? -
(1) 使用子串获取每对数字。 (2) 使用
parseInt(v, 16)将每对十六进制数字转换为一个数字。 (3) 平均你的数字。 (4) 使用.toString(16)将每个R、G和B数字转换回十六进制 -
The parameters will be two 6-digit hexadecimal strings。所以这意味着不是 2 个字符串,而是 2 个数字?
标签: javascript average arrow-functions