javascript 数据处理

admin2周前 (03-21)it知识132

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)可进一步提升开发效率 ‌



标签: 分享IT知识

相关文章

关于夏天

在一个炎热的午后,阳光穿过树叶的缝隙,洒在公园的草地上。空气中弥漫着夏日的气息,那是炎热中夹杂着淡淡的花香,还有草地的清新味道。在这个充满活力的季节,夏天以其独特的方式展示着它的魅力。夏天是一个充满色...

湖边

湖边,一片静谧的美好。清晨的阳光洒在湖面上,波光粼粼,让人心旷神怡。湖上的荷叶轻轻摇曳,荷花争奇斗艳,仿佛在向人们展示着它们的美丽。湖边的柳树依依,芦苇丛生,形成了一道道天然的屏障,让人感到一种隐秘的...

拖延症重度患者怎样自救

对于拖延症的重度患者,自救的关键在于以下几点:识别并克服拖延的借口。拖延常常因为我们害怕、不确定、不想不舒服而找到各种借口。我们必须识破这些借口,并对自己说:“如果我拖延,后果将不堪设想。”制定清晰的...

个人学习计划

学习计划是一个帮助你提高学习效率和使用时间的有效工具。以下是一个可能的学习计划:目标设定。 在开始学习之前,明确你的学习目标和目的地,这有助于你制定实际可行的计划。分解任务。 将大...

炎热的夏天

夏天是一个充满活力和热情的季节,炎热的的气息让人感到无力和疲惫。但是,这个季节也有着许多美好的回忆和乐趣,让我们一起来看看夏天的美好与炎热吧。首先,夏天的天气非常炎热,太阳高照,蓝天白云,气温高达30...

敏捷开发

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。