30秒学会 JavaScript 片段 · 2019年9月14日

30秒学会 JavaScript 片段 – extendHex

Extends a 3-digit color code to a 6-digit color code.

Use Array.prototype.map(), String.prototype.split() and Array.prototype.join() to join the mapped array for converting a 3-digit RGB notated hexadecimal color-code to the 6-digit form.
Array.prototype.slice() is used to remove # from string start since it’s added once.

代码片段

const extendHex = shortHex =>
  '#' +
  shortHex
    .slice(shortHex.startsWith('#') ? 1 : 0)
    .split('')
    .map(x => x + x)
    .join('');

使用样例

extendHex('#03f'); // '#0033ff'
extendHex('05a'); // '#0055aa'