如何在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'