JavaScript 数组常用方法整理:写业务代码时最常用的是哪几个
0 阅读
数组是 JavaScript 里使用频率非常高的数据结构。
无论是列表渲染、接口数据处理、条件筛选,还是状态更新,很多逻辑最后都会落到数组操作上。
所以理解常用数组方法的区别,比死记语法更重要。
map:把一个数组变成另一个数组
map 最适合做转换。
1const numbers = [1, 2, 3]; 2const result = numbers.map(item => item * 2);
它不会修改原数组,而是返回一个新数组。
这也是它在前端渲染里特别常见的原因,例如把数据列表映射成组件列表。
filter:筛选出符合条件的项
filter 用来保留符合条件的元素。
1const users = [ 2 { name: 'Tom', active: true }, 3 { name: 'Jerry', active: false } 4]; 5 6const activeUsers = users.filter(user => user.active);
它同样会返回一个新数组。
find:找到第一个符合条件的元素
如果你只需要一个结果,而不是一个数组,find 更合适。
1const user = users.find(item => item.name === 'Tom');
它找到后就会返回对应项,没有找到则返回 undefined。
forEach:只做遍历,不返回结果
forEach 更适合执行某些副作用操作。
例如:
1list.forEach(item => { 2 console.log(item); 3});
如果你的目标是生成新数组,那通常不该用 forEach。
some 和 every
这两个方法也很实用:
some:只要有一个满足条件就返回trueevery:必须全部满足才返回true
它们特别适合做条件判断。
写在最后
数组方法的关键不在于记住名字,而在于先想清楚你的意图:
- 要转换,就用
map - 要筛选,就用
filter - 要找一个,就用
find - 只遍历执行逻辑,就用
forEach
只要意图和方法对上,代码会更清楚,也更不容易写乱。