es6数组语法(待更新)

本文详细介绍了JavaScript中常见的数组操作方法,包括forEach、map、filter、some和every的使用,以及如何通过这些方法实现特定功能,如查找、移除元素等。示例代码清晰地展示了每个方法的效果,帮助理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       1.forEach  不改变原数组,也没有返回值
       var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
       arr.forEach((item, index) => {
         item.name = "jack";
       });
       console.log(arr);

       2.map  不改变原数组, 返回一个新数组
       var arr = [1, 2, 3, 4];
       let arr1 = arr.map((item, index, arr) => {
         return item * 10;
       });
       console.log(arr, arr1);

       3.filter  不改变原数组,返回一个过滤后的新数组
       var arr = [1, 2, 3, 4];
       const res = arr.filter(item => item >= 3);
       console.log(res);

       4.some  遍历数组, 如果筛选条件存在,就返回true,否则返回false
       var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
       let arr1 = arr.some( (item,index) => item.id === 4);
       console.log(arr1);

      5.every 遍历数组, 如果筛选的条件里,每一项返回的都是true, 最终结果为true。 有一项为false,最终结果就喂false
       var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
       let arr1 = arr.some( (item,index) => item.id === 4);
       console.log(arr1); 

      6.findIndex 返回符合条件的值的第一个索引
        var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
        const index = arr.findIndex(item=> item.id ===1)
        console.log(index);


练习:

1.要求以boolean的形式返回字符串参数中是否包含数字。

    本题tip:isNaN(value)可以判断value是否为NaN,不是就返回false,是就返回true
         parseInt(value),如果可以转化为数字,就返回数字,不可以转化为数字,就返回NaN

    function _search(string) {
        let arr = [...string]
        const res =  arr.some(item=> isNaN(parseInt(item)))
        return res //返回true或者false
    }

2.移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
    
    function remove(arr, item) {
        return arr.filter(value => value != item)
    }

3.移除数组 arr 中的所有值与 item 相等的元素。直接修改原数组
    function removeWithoutCopy(arr, item) {
   
        for(var i=0;i<arr.length;i++){
            if(arr[i] === item){
            arr.splice(i,1)
                i-- //这个是重点,删除后,数组长度会变短 所以需要--
            }
        }
        return arr   
    }
4.在数组末尾添加一个item,并且返回新数组。
    function append(arr, item) {
        return [...arr,item]
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值