2020-10-19 11:11:40
在 JavaScript 中,遍历数组(List)有多种方法,每种方法适用于不同的场景。以下是常见的遍历方式及其特点:
1. for 循环特点:最基础、灵活的控制方式,适合需要索引或复杂逻辑的场景。示例:
const list = ['foo', 'bar', 'baz'];for (let i = 0; i < list.length; i++) { console.log(list[i]); // 依次输出元素}2. for...of 循环特点:语法简洁,直接获取元素值,无需处理索引,适用于可迭代对象(如数组)。示例:
const list = ['foo', 'bar', 'baz'];for (const element of list) { console.log(element); // 直接输出元素}3. Array.forEach() 方法特点:对每个元素执行回调函数,无返回值,适合纯操作(如打印、修改)。示例:
const list = ['foo', 'bar', 'baz'];list.forEach((element) => { console.log(element); // 输出每个元素});4. Array.map() 方法特点:返回新数组,每个元素是回调函数的处理结果,适合数据转换。示例:
const list = ['foo', 'bar', 'baz'];const newList = list.map((element) => element.toUpperCase());console.log(newList); // ['FOO', 'BAR', 'BAZ']5. Array.filter() 方法特点:返回新数组,仅包含满足条件的元素,适合筛选数据。示例:
const list = ['foo', 'bar', 'baz'];const filteredList = list.filter((element) => element.startsWith('b'));console.log(filteredList); // ['bar', 'baz']6. Array.reduce() 方法特点:将数组归并为单个值(如求和、拼接字符串),适合累积计算。示例:
const list = ['foo', 'bar', 'baz'];const result = list.reduce((acc, curr) => acc + curr, '');console.log(result); // 'foobarbaz'如何选择?根据具体需求选择最合适的方法,能提升代码可读性和性能。