下载文件
function downloadFile() {
// 创建一个隐藏的a标签用于下载文件
let downloadLink = document.createElement('a');
downloadLink.style.display = 'none';
document.body.appendChild(downloadLink);
// 设置a标签的href属性为文件的URL
downloadLink.href = 'xxx';
// 设置下载文件的名称
downloadLink.download = 'xxx';
// 触发点击事件开始下载文件
downloadLink.click();
// 下载完成后移除隐藏的a标签
downloadLink.parentNode.removeChild(downloadLink);
}
主要应用了a 标签特性,创建一个隐藏的a 标签,设置其href属性,请求文件进行下载
判断是否为空对象 {}
const obj = {};
const result = JSON.stringify(obj) === '{}';
注意 ,上面代码中,
obj == false
的结果是false
判断是否为空数组 []
const arr = [];
const result = arr.length === 0;
判断是否为 Number 类型
function validNumber(variable) {
// 判断变量是否存在
if (typeof variable !== 'undefined') {
// 判断变量是否为数字
if (typeof variable === 'number' && !isNaN(variable)) {
return true;
}
}
return false;
}
清空对象所有的属性值,保留属性名
function createEmptyValuesObject(obj) {
return Object.fromEntries(
Object.entries(obj).map(([key, _]) => [key, undefined])
); // 或者 null
}
求两个数组的差集
function difference(arr1, arr2) {
const set = new Set(arr2);
return arr1.filter(item => !set.has(item));
}
这里使用
Set
主要是为了降低时间复杂度