es6中数组的map和reduce

数组map

代码

<script>
    var arr = [1, 2, 3, 4, 5];
    let newarr1 = [];
    // 传统方式
    for (let i = 0; i < arr.length; i++) {
        newarr1.push(arr[i] * 2);
    }
    console.log(newarr1);
    // es6方式
    var newarr2 = arr.map(item => item * 2);
    console.log(newarr2);

    let levels = [{age: 10, name: '小学'}, {age: 15, name: '中学'}, {age: 21, name: '大学'}];
    let levels1 = levels.map(item => item.age + 1);
    console.log(levels1);
    // map--->自带循环,并且会把处理的值填回原来的位置
</script>

运行结果

在这里插入图片描述

数组reduce

代码

 <script>
        let arr = [1, 2, 3, 4, 5, 6];
        // 数组中前一个值和后一个值得处理
        let result = arr.reduce((a, b) => {
            return a + b;
        });
        console.log(result);
    </script>

运行结果

在这里插入图片描述

ES6引入了一些新的数组循环方法,它们比传统的for循环更简洁易读。以下是几种常用的数组循环方法: 1. **forEach**: 这是最简单的遍历数组的方式,对每个元素执行一次提供的回调函数。例子: ```javascript const arr = [1, 2, 3]; arr.forEach(item => console.log(item)); ``` 2. **map**: 对数组的每个元素应用一个函数,并返回一个新的数组,新数组包含原始元素经过操作后的结果。例子: ```javascript const newArr = arr.map(num => num * 2); // 新数组为 [2, 4, 6] ``` 3. **filter**: 创建一个新数组,只包含通过指定测试的所有元素。例子: ```javascript const filteredArr = arr.filter(num => num % 2 === 0); // 新数组只包含偶数 ``` 4. **reduce**: 将数组缩减成单个值,通过累加、合并或其他函数对每个元素应用一个操作。例子: ```javascript const sum = arr.reduce((total, num) => total + num, 0); // 计算数组所有元素之和 ``` 5. **some**: 判断数组是否有满足条件的元素,如果有则返回true,否则返回false。例子: ```javascript const hasEven = arr.some(num => num % 2 === 0); ``` 6. **every**: 检查数组的所有元素是否都满足某个条件,如果有任何一个不满足,则返回false。例子: ```javascript const areAllPositive = arr.every(num => num > 0); ``` 7. **find**: 找到数组满足指定条件的第一个元素,若无符合条件的元素则返回undefined。例子: ```javascript const firstPositive = arr.find(num => num > 0); ``` 8. **findIndex**: 类似于find,但它返回的是符合条件的第一个元素的索引。例子: ```javascript const indexOfFirstPositive = arr.findIndex(num => num > 0); ``` 9. **Array.from() 和 Array.of()**: 可以用于将其他可迭代对象转换成数组。比如: ```javascript const iterableObj = {0: 'a', 1: 'b'}; const newArray = Array.from(iterableObject); ``` 以上就是ES6常用的数组循环方法,它们提高了代码的可读性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背着行囊去远方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值