JavaScript单行技巧:高效处理数据

本文翻译自 10 one-liners that will change how you think about JavaScript forever,作者:Tari Ibaba, 略有删改。

本文介绍JavaScript单行程序的独特数据处理能力,单行技巧可以帮助我们更简洁、更高效地处理数据。这些技巧不仅提升了代码的可读性,也减少了代码行数,使代码更加紧凑。以下是一些JavaScript单行技巧,用于高效处理数据,附带相应的代码示例。

像这样令人惊叹的单行程序显示了您对语言的掌握及其独特的数据处理能力。️

今天我们介绍有一些关于JavaScript的有趣的事情,大多数开发人员可能都没这样使用过。

下面程序中,我从17行命令行转换到一个单行的功能语句。

转换后:

转换后的代码相对要清晰优雅,你可以清楚地看到数据是如何从输入到输出。

求一组数字的平均值

通过reduce将数组的总和除以它的长度,我们可以计算出数字的平均值。

js 复制代码
const average = array => array.reduce((total, num) => total + num, 0) / array.length;

将URL的查询字符串部分转换成对象

这个示例展示了如何将查询字符串转换成对象。URLSearchParams会解析字符串,并返回一个可迭代的对象,之后通过Object.fromEntries将其转换为对象,使得URL参数的检索更加便捷。

js 复制代码
const query = 'name=XXX&age=18';

// 将字符串解析为对象
const parseQuery = query => Object.fromEntries(new URLSearchParams(query));

// 结果: parseQuery = { name: 'XXX', age: '18' }

将秒数转换为时间格式的字符串

此示例展示了秒数到 HH:MM:SS 字符串的转换过程。通过创建一个 Date 对象,并根据秒数设置其时间值,最后格式化输出。

scss 复制代码
const seconds = 9000; // 一小时是 3600 秒,多出 61 秒

const toTimeString = seconds => new Date(seconds * 1000).toISOString().substr(11, 8);

toTimeString(seconds);  // '02:30:00'

反转字符串

转换后:

ID分组

按特定的对象属性对数组进行分组:

使用示例:

代码执行效果:

生成随机UUID

这里有有基本算术、幂、随机值、方法、位移位、正则表达式、回调函数、递归、求幂......等一起工作。

生成随机十六进制颜色

1行生成一个随机的十六进制颜色:

数组相等

用一行代码检查数组是否相等。

❌ 11行:

✅ 1行:

✅ 或者:

电子邮件

电子邮件验证都是关于正则表达式的:

还有更全面的验证:

将JSON转换为map

snake转换为camel case

轻松地从蛇式转换为骆驼式,无需临时变量。

最后

很多操作都集中在一个语句里;从输入到输出,不断地处理,流畅地进行各种操作。这就是JavaScript单行程序的强大之处。


看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)

相关推荐
veneno4 小时前
大量异步并发请求控制并发解决方案
前端
i***t9194 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
oden4 小时前
2025博客框架选择指南:Hugo、Astro、Hexo该选哪个?
前端·html
小光学长4 小时前
基于ssm的宠物交易系统的设计与实现850mb48h(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·前端·数据库
云中飞鸿4 小时前
函数:委托
javascript
小小前端要继续努力5 小时前
渐进增强、优雅降级及现代Web开发技术详解
前端
老前端的功夫6 小时前
前端技术选型的理性之道:构建可量化的ROI评估模型
前端·javascript·人工智能·ubuntu·前端框架
狮子座的男孩6 小时前
js函数高级:04、详解执行上下文与执行上下文栈(变量提升与函数提升、执行上下文、执行上下文栈)及相关面试题
前端·javascript·经验分享·变量提升与函数提升·执行上下文·执行上下文栈·相关面试题
爱学习的程序媛6 小时前
《JavaScript权威指南》核心知识点梳理
开发语言·前端·javascript·ecmascript
乐观主义现代人6 小时前
go 面试
java·前端·javascript