如何从数组中选取特定元素?无循环打印以'M'开头的数组元素
数组选取特定元素的方法及问题解决
如何从数组中选取特定元素?
- 使用
filter()方法:创建新数组,包含所有满足筛选条件的元素,适合批量筛选场景。 - 使用
find()/findIndex():find()返回第一个匹配条件的元素,findIndex()返回对应索引,适合查找单个目标元素。 - 处理嵌套数组时,可先用
flat()将数组扁平化,再执行筛选操作。
解决给定数组的打印需求(不使用显式循环)
给定数组:
var filmCharacters =[ ['Vito', 'Michael', 'Sonny', 'Freddo'], ['Mia', 'Vincent', 'Jules', 'Butch'], ['Bella', 'Edward', 'Jacob', 'Carlisle'], ['James', 'M', 'Moneypenny', 'Felix'] ];
要逐个打印所有名称以'M'开头的字符,且不使用for/while这类显式循环,可以通过数组高阶函数组合实现:
filmCharacters.flat() .filter(name => name.startsWith('M')) .forEach(name => console.log(name));
代码说明:
flat():将二维嵌套数组转换为一维数组,消除层级结构便于统一处理。filter():通过name.startsWith('M')判断元素是否以'M'开头,筛选出符合条件的元素。forEach():遍历筛选后的结果数组,逐个将元素打印到控制台,该方法属于数组内置迭代方法,不属于传统循环语句。
内容的提问来源于stack exchange,提问作者Lee Cassamo
相关产品推荐
相关产品推荐

