一些常用的 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主要是为了降低时间复杂度

相关推荐
小光学长10 分钟前
基于ssm的膳食健康管理系统e6whl4q7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·开发语言·数据库·学习·ssm
一个天蝎座 白勺 程序猿17 分钟前
KingbaseES融合数据库:一库多能,企业数据管理新思路
数据库·性能优化·kingbasees·金仓数据库
前端之虎陈随易23 分钟前
Vite 8正式发布,内置devtool,Wasm SSR 支持
前端·人工智能·typescript·npm·node.js·wasm
橘颂TA27 分钟前
【MySQL】解锁表的 N 种牵手方式:SQL 连接与子查询漫游(复合查询)
数据库·mysql
AI_567829 分钟前
基于智优达平台的Python教学实践:从环境搭建到自动评测
开发语言·前端·人工智能·后端·python
IT_陈寒30 分钟前
JavaScript开发者必备的5个高效调试技巧,90%的人都不知道最后一个!
前端·人工智能·后端
嘉琪00134 分钟前
前端数组核心方法(高级视角 + 场景 + 精简)——————2026 0309
开发语言·前端·javascript
数据知道35 分钟前
MongoDB基于角色的访问控制(RBAC):精细化权限管理的实用方法
数据库·mongodb
代码派41 分钟前
NineData社区版:免费+本地化部署,满足数据库DevOps、数据复制与一致性对比的数据库管理平台
运维·数据库·database·devops·数据库管理工具·ninedata·数据库迁移
jarvisuni1 小时前
GLM5实战测试,挑战Opus4.6 !
前端·数据库