Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

JavaScript - Xây dựng màu bổ sung (Complementary Colors)


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