真正高效的 JS 开发者会让语言替你干活。现代 JavaScript 自带一批强力的数组方法,能替换初学者式的遍历,让代码更短、更清晰、更可读。
很多开发者把命都交给了 for 循环。可如果你还像 2010 年那样遍历数组,你就在浪费代码与时间。
真正高效的 JS 开发者会让语言替你干活。现代 JavaScript 自带一批强力的数组方法,能替换初学者式的遍历,让代码更短、更清晰、更可读。
我不是在说人人都会的 map() / filter()——下面这些被低估的方法,常能把你的代码量直接砍半。
1) .at() —— 按索引拿元素(支持负数从末尾取)
旧写法:
const arr = [10, 20, 30, 40];
const last = arr[arr.length - 1];
新写法:
const last = arr.at(-1);
要点: 负索引从尾部计数,更直观。
2) .findLast() —— 从尾部开始找最后一个匹配项
旧写法:
const nums = [2, 4, 7, 4, 9];
const lastEven = nums.reverse().find(n => n % 2 === 0);
新写法:
const lastEven = nums.findLast(n => n % 2 === 0);
优点: 无需 reverse() 与中间数组,直接到答案。
3) .findLastIndex() —— 需要索引时用它
旧写法:
const nums = [1, 3, 7, 3, 9];
const lastIndex =
nums.length - 1 - [...nums].reverse().findIndex(n => n === 3);
新写法:
const lastIndex = nums.findLastIndex(n => n === 3);
结果: 可读、直接、没“反向索引”脑筋急转弯。
4) .flat() —— 一行拍平嵌套数组
旧写法:
const nested = [1, [2, [3, 4]]];
const flat = nested.reduce((acc, val) => acc.concat(val), []);
新写法:
const flat = nested.flat(2);
技巧: 传入深度(如 2),或用 flat(Infinity) 完全拍平。
5) .flatMap() —— 映射 + 拍平,一步到位
旧写法:
const arr = [1, 2, 3];
const doubled = arr.map(x => [x, x * 2]).flat();
新写法:
const doubled = arr.flatMap(x => [x, x * 2]);
好处: 链更短、更快、更易读。
6) .toSorted() —— 不变更原数组的排序
旧写法:
const arr = [3, 1, 2];
const sorted = [...arr].sort((a, b) => a - b);
新写法:
const sorted = arr.toSorted((a, b) => a - b);
意义: 返回排序后的新数组,不污染原数据,更函数式、更安全。
7) .toReversed() —— 无副作用的反转
旧写法:
const arr = [1, 2, 3];
const reversed = [...arr].reverse();
新写法:
const reversed = arr.toReversed();
场景: 纯函数/不可变数据流,不再担心被意外改动。
💡 组合技:这些方法一起用效果更佳
const users = [
{ name: 'Alice', active: false },
{ name: 'Bob', active: true },
{ name: 'Carol', active: true }
];
// 获取“最后一个活跃用户”的名字
const lastActive = users
.filter(u => u.active)
.map(u => u.name)
.toReversed()
.at(0); // 'Carol'
再给几点小贴士:
- 想不变更原数组时,优先用 toSorted() / toReversed(),少用会修改原数组的 sort() / reverse()。
- 需要从尾部找元素或索引,直接用 findLast() / findLastIndex(),避免 reverse() 带来的副作用与拷贝成本。
- 处理嵌套结构时,别忘了 flat() / flatMap(),常比 reduce + concat 更高效易读。
把这篇收藏一下,然后切回 VS Code 试一遍。写更少,更清晰,更现代的 JavaScript。
AI大模型学习福利
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获
四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

被折叠的 条评论
为什么被折叠?



