如何在JavaScript中将3位数字颜色代码扩展为6位数字颜色代码?
3位数字颜色代码是6位数字颜色代码的简写形式,其中每个数字都重复以形成完整的6位代码。例如,#03f 等同于 #0033ff。
这些简写代码非常常见,但在编程中使用它们时会带来一些挑战。因此,通常需要将它们转换为完整的6位形式。
你只需要重复每个数字的3位代码以形成6位代码。可以使用 Array.prototype.map()、String.prototype.split() 和 Array.prototype.join() 的组合来完成这个操作。
为了考虑到输入字符串可能以 # 开头的情况,如果存在 #,可以使用 Array.prototype.slice() 来从字符串的开头移除 #。
const extendHex = shortHex =>
'#' +
shortHex
.slice(shortHex.startsWith('#') ? 1 : 0)
.split('')
.map(x => x + x)
.join('');
extendHex('#03f'); // '#0033ff'
extendHex('05a'); // '#0055aa'