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

相关推荐
lydcljie2 分钟前
mysql数据被误删的恢复方案
数据库·mysql
edisao3 分钟前
第一章:L-704 的 0.00% 偏差
前端·数据库·人工智能
CappuccinoRose4 分钟前
HTML语法学习文档(一)
前端·学习·html
x***r1514 分钟前
Xampp集成环境包安装步骤详解(附Apache、MySQL启动与本地网站搭建)
数据库·mysql·apache
大黄说说7 分钟前
MySQL 查询优化三剑客:JOIN、子查询、UNION 的选型策略与性能调优实战
数据库
Cache技术分享7 分钟前
322. Java Stream API - 使用 Finisher 对 Collector 结果进行后处理
前端·后端
3GPP仿真实验室11 分钟前
6G 物理层变天AFDM:与其在 OFDM 的死胡同里撞墙,不如换个坐标系“折叠”世界
前端
Jing_Rainbow12 分钟前
【React-9/Lesson93(2025-12-30)】React Hooks 深度解析:从基础到实战🎯
前端·javascript·react.js
砚边数影13 分钟前
架构演进:从单一NoSQL到“一库多模”的融合实践
数据库·oracle·kingbase·kingbasees·数据库平替用金仓·金仓数据库
We་ct13 分钟前
LeetCode 2. 两数相加:链表经典应用题详解
前端·算法·leetcode·链表·typescript