复制到剪贴板
/**
* 内容复制到剪贴板
* @param {string} str 需要被复制的内容
* @param {Function} success 复制成功回调函数
* @param {Function} failure 复制失败回调函数
*/
function copyToClipboard(str, success, failure) {
if (navigator && navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(str).then(success).catch(failure);
} else {
let el = document.createElement('textarea');
el.value = str;
el.setAttribute('readonly', '');
el.style.position = 'absolute';
el.style.left = '-9999px';
document.body.appendChild(el);
el.select();
if (document.execCommand('copy')) {
success();
} else {
failure();
}
document.body.removeChild(el);
}
}注意
① Clipboard API 目前仅在 HTTPS 网站上支持;
重命名键
/**
* 重命名键(只能改单个对象的单个键名)
* @param {Object} obj 对象
* @param {string} oldName 旧键名
* @param {string} newName 新键名
*/
function renameKeys(obj, oldName, newName) {
let newObj = {};
for (let key in obj) {
let newKey = key.replace(oldName, newName);
newObj[newKey] = obj[key];
}
return newObj;
}
// 举例
const obj = { name: 'LiHua', age: '20', height: 170 };
renameKeys(obj, 'name', 'fullName');
// 返回: { age: "20", fullName: "LiHua", height: 170 }最后更新于