Chúng ta cần viết một hàm JavaScript nhận mã màu hex làm đầu vào duy nhất.
Hàm sẽ tìm màu bổ sung cho màu được nhận làm đầu vào.
Dưới đây là một số cặp đầu vào/đầu ra:
getComplementaryColor('#142814') = '#ebd7eb';
getComplementaryColor('#ffffff') = '#000000';
getComplementaryColor('#3399ff') = '#cc6600';
Ví dụ
Mã thực hiện:
const str1 = '#142814';
const str2 = '#ffffff';
const str3 = '#3399ff';
const getComplementaryColor = (color = '') => {
const colorPart = color.slice(1);
const ind = parseInt(colorPart, 16);
let iter = ((1 << 4 * colorPart.length) - 1 - ind).toString(16);
while (iter.length < colorPart.length) {
iter = '0' + iter;
}
return '#' + iter;
};
console.log(getComplementaryColor(str1));
console.log(getComplementaryColor(str2));
console.log(getComplementaryColor(str3));
Kết quả
Kết quả trong console:
#ebd7eb #000000 #cc6600