Skip to content

JS中的一些方法 ​

复制文本 ​

javascript
const copyToClipboard = (text) => navigator.clipboard.writeText(text);

获取第几天 ​

javascript
const dayOfYear = (date) => 
  Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);

灰度算法 将rgb颜色灰度化(基于光感加权平均) ​

javascript
const gray = (r, g, b) =>
  0.2126 * r + 0.7152 * g + 0.0722 * b;

解析URL参数 ​

javascript
const parseQuery = (url) => {
  q = {};
  url.replace(
    /([^?&=]+)=([^&]+)/g,
    (_, k, v) => (q[k] = v)
  );
  return q;
}

对象属性筛选 ​

javascript
const pick = (obj, ...props) => 
  Object.fromEntries(
    Object.entries(obj)
            .filter(([k]) => props.includes(k))
  );

随机颜色 ​

javascript
const randomColor = () => 
    '#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0');

随机字符串 ​

javascript
const randomString = () =>
    Math.random().toString(36).slice(2);

去掉字符串中元素标记 ​

javascript
const removeTag = (fragment) =>
    new DOMParser().parseFromString(fragment, 'text/html')
                  .body.textContent || '';