一些常用的 js 方法和语句

下载文件

复制代码
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主要是为了降低时间复杂度

相关推荐
雪隐9 分钟前
个人电脑玩AI-10让5060 Ti给你打工——我让 Claude Code 喝上了本地杂粮:Ternary-Bonsai-27B 部署历险记
前端·人工智能·后端
Bigger20 分钟前
我受够了每天问“今天吃什么”,于是做了个 AI 菜单工具
前端·人工智能·agent
花生了什么事o29 分钟前
DDD:领域驱动设计的初步认识
java·数据库
BGK11235840 分钟前
基于qemu_v8+optee 4.00 平台构建 ca/ta
java·大数据·数据库
邢行行1 小时前
记一次 Three.js 踩坑:小球渲染出现诡异黑斑?原因竟然是这样...
前端
颜进强1 小时前
Claude Code -21 Agent 规划化编写范式
前端·后端
夕夕木各1 小时前
Ant Design 本地构建一直卡在 Bundling?一次 UtooPack 排查记录
前端·ant design
何中应1 小时前
Spring Boot整合Doris
java·数据库·spring boot
J-Tony111 小时前
【Redis】数据结构&&持久化
数据结构·数据库·redis
人间凡尔赛2 小时前
世界模型入门实战:从RTFM到理解物理世界 | 2026深度技术解析
javascript·人工智能·深度学习·机器学习