javascript 数据处理

JavaScript 提供了丰富的数据处理能力,涵盖数组、字符串、对象等核心数据结构的操作,以及高效的数据转换、存储和传输方法。以下是关键处理技巧和场景总结:


一、数组处理

  1. 遍历与转换

    • map():对每个元素操作并返回新数组,如 [1,2,3].map(num => num * 2) → [2,4,6] ‌

    • filter():筛选满足条件的元素,如 [1,2,3].filter(num => num > 2) → ‌:ml-citation{ref="3" data="citationList"} ‌

  2. 增删元素

    • push()/pop():末尾添加或删除元素 ‌

    • splice():从指定位置删除或插入元素,如 arr.splice(1, 2, 6) 删除索引1开始的2个元素并插入6 ‌

    • slice():截取子数组,不影响原数组 ‌

  3. 排序与去重

    • sort():默认按字符串排序,可自定义逻辑,如 arr.sort((a, b) => a - b) ‌

    • 去重:使用 Setfilter() 或遍历比对 ‌


二、字符串处理

  1. 常用操作

    • 截取:substring()slice() 

    • 分割与合并:split() 按分隔符拆分为数组,join() 合并数组为字符串 ‌

    • 替换:replace() 支持正则表达式替换,如 str.replace(/a/g, 'b') ‌

  2. 格式处理

    • trim():清除两端空白 ‌

    • charAt()/charCodeAt():获取字符或Unicode编码 ‌


三、数据转换

  1. 类型转换

    • 数字转字符串:String(num) 或 num.toString() ‌

    • 字符串转数字:parseInt()parseFloat() ‌

    • 布尔转换:Boolean(value),注意空字符串、0、null 会转 false ‌

  2. 结构化转换

    • 查询字符串转对象:Object.fromEntries(new URLSearchParams(query)) 

    • 平级列表转树形结构:递归遍历,通过父子ID关联 ‌


四、高级数据处理

  1. 单行高效操作

    • 求平均值:array.reduce((t, num) => t + num, 0) / array.length ‌

    • 秒数转时间格式:new Date(seconds * 1000).toISOString().substr(11, 8) → HH:MM:SS ‌

  2. 复杂场景

    • 数据合并:使用扩展运算符 [...arr1, ...arr2] 或 Object.assign() 

    • 深拷贝:JSON.parse(JSON.stringify(obj)) 或递归函数实现 ‌


五、数据存储与传输

  1. 本地存储

    • localStorage/sessionStorage:以键值对存储数据,支持跨页面共享 ‌

  2. 网络传输

    • 使用 fetch 或 XMLHttpRequest 发送请求,结合 JSON.stringify() 序列化数据 ‌


总结

JavaScript 的数据处理核心在于灵活运用内置方法(如数组的 mapfilter,字符串的 splitreplace)和高效算法(如深拷贝、树形结构转换)。合理结合扩展运算符、正则表达式及第三方库(如 Lodash)可进一步提升开发效率 ‌



标签:

相关文章

灵感

灵感的由来可能来自于自然环境、文化背景、生活经验、想象力和创新思维,或其他来源自然环境:大自然以其独特的美丽和秩序,持续激发人类的创造力,自然元素如水、火、空气、土壤和生物等,都为艺术家、科学家和作家...

当前人工智能技术发展水平

一、生成能力:突破人类效率边界‌文本与跨模态生成‌3秒生成专业级商业计划书,实时翻译114种语言(含8种中国方言);AI工具(如Manus)可解压文件、筛选简历并导出报告,实现异步任务处理‌;图像生成...

前端消息队列技术解析

一、核心应用场景‌异步任务处理‌用户行为日志上报、实时通知推送等场景,通过消息队列实现非阻塞式通信,避免页面卡顿‌典型代码模式对比:// 传统同步模式(阻塞页面) async f...

PHP-FPM高并发参数设置

针对PHP-FPM高并发参数设置,以下是关键配置建议和优化方向:一、进程管理配置‌进程模式选择‌推荐pm = static(静态模式),固定进程数避免动态调整开销‌若选择动态模式(pm = dynam...

前端开发中常用的核心方法

以下是前端开发中常用的核心方法分类及说明:一、字符串处理‌补齐格式化‌padStart(2,'0')实现左侧补零(如1→01)‌padEnd(2,'0')实现右侧补零‌...

前端知识

一、HTML/CSS核心‌盒模型与布局‌标准盒模型(content-box)与怪异盒模型(border-box)的区别及box-sizing的作用Flex布局实现三栏等高布局(flex-grow分配剩...